Login  Register

Re: split channels and all files in a directory

Posted by Nathaniel Ryckman on Apr 07, 2011; 7:52pm
URL: http://imagej.273.s1.nabble.com/split-channels-and-all-files-in-a-directory-tp3685101p3685109.html

I share your frustrations, although I still think imageJ is one of the best software packages out there for microscopic image analysis.

The problem that I discovered is simply that the Macro language isn't comprehensive enough and contains a plethora of small bugs or non-functioning code. Particularly, the roiManager should be one of the most valuable tools but seems to have some of the most problems. For example, the only way to select ROI's in the Macro language is through Javascript and a Macro script call which fails at running in batch mode. Another example is that ROI's with the same name and shape are indistinguishable to the roiManager (aka if you delete one it will delete the other). Finally, juggling ROI's in one roiManager can become inefficient in certain cases. Running a couple instances of roiManagers would probably be a better idea.

Anyway, if you are frustrated with the Macro language, I suggest you develop in pure Java. I am thinking about redoing parts of the project that I am working on as a plugin instead of a large macro program. You can even work on the plugins using Eclipse instead of the imageJ editor.

As for Elizabeth's question, I would say that the majority of people in academia build large projects using Java because Java is portable (aka can run on all machines easily) and rids the user from worrying about pointers/clean-up. C/C++ is usually used for professional projects because of the speed and because of how much control it offers (C has many low level commands that even allow bit manipulation). There are Linux users who swear by Python though. I don't know very much Python, but, from what I do know, Python is a good language once you've mastered the language. One of the main benefits of Python is that the language is succinct.