I'm currently learning to acquire images using confocal microscopy and subsequently analyze the images using the Fiji software. I want to know how and where exactly Python or MATLAB is used by practising cell biologists and microscopists for image analysis and learning which language might be beneficial. Thanks in advance!
I can't speak for MATLAB, but:
Why it's good to know Python:
There is a lot of support for scientific image analysis in Python, as attested by such powerful and heavily maintained packages as scikit-image and opencv. Both are used extensively in biology and other scientific areas. And the vast majority of libraries in Python are free (not so for MATLAB).
Also, there's a huge amount of material freely available online, like tutorials, Q&A's, and more than a few different free IDEs to choose from, for pretty much any operating system you'd like.
Python AI Support
More importantly, most of what's happening in AI these days is image processing, and most of what's happening in AI image processing these days is implemented in Python (at least at the top level). So, whenever you think machine learning might be a good fit for your application, most likely Python will be as well.
Yes, it is true that there are bindings for a lot of other languages, including MATLAB (and Java, and R...), but those aren't typically native to the ecosystems and they won't be as well supported.
Python General Purpose Programming
I believe the most important argument for Python and against MATLAB and R is that Python is a general-purpose programming language. It has excellent support for image analysis and statistics (arguably not worse than MATLAB and R), but it also makes it easy to do what is needed to actually use your solutions in practice, like file system operations, data base access, user interfaces, and microscope control: It's not enough to have a great algorithm for finding nuclei in an image, you also want to be able to apply that algorithm to a slew of images you download from somewhere on the fly or acquire using an automated microscope or camera.
Oh, and you'll be much more likely to apply your programming skills in Python than in MATLAB outside of research.
Where is Python Used?
Python is used wherever the above arguments are important. That means that Python is used in biology wherever:
- image analysis is important, but
- the job is more than just plain image analysis, and especially
- wherever AI/machine learning is a good fit.
I would even go as far as saying that Python is simply more modern than MATLAB, and wherever people are free to choose, they tend to go for Python.
(That said, MATLAB and R have a long track record and a huge following in all the sciences and they're still very well used.)