This is my first post in the ImageJ forum but I am not a newbie in programming ImageJ plugins in Java anymore. I have started a plugin collection for the semi-automized image-analyses of X-ray images of soil-columns in 2013 (christened to ‘soilj’). Since then, the project has been maturing to the point that I am seriously starting to think about publishing it.
I am aiming at including the project into the Fiji bundle and have been trying to re-model it according to the Fiji requirements. However, this lead to a three day trip to a mavenized ImageJ hell and back. Since I am not eager to repeat this experience anytime soon, I thought it may be time to ask you for some advice.
So here is what happened. I am using Eclipse and had been setting it up following Patrick Pirotte’s cookbook “The ImageJ Eclipse Howto”:
Until last Friday, this had been working out fine. I had still been using a relatively old ImageJ version (I think some 1.47). I could write my plugins, run IJ as an application in Eclipse and the plugins would appear in the IJ plugin folder. I also could debug the whole thing in Eclipse, i.e. setting breakpoints for monitoring variable values, etc.
However, last Friday I was thinking it was time to upgrade to a new ImageJ version (1.50g) and try mavenizing my plugin at the same time. After two days of reading the Fiji.sc tutorials and trial and error I succeeded to set up Eclipse with mavenized versions of both imagej/fiji (I had tried them both) and soilj/soilj_ (I had also tried whether the underscore is still needed or not). The resulting soilj_.jar file was working fine when I copied it to the plugins folder of my regular Fiji, i.e. not the one in Eclipse.
I also managed to run the mavenized ImageJ and Fiji in Eclipse, even together with soilj. But what I never have managed was running my mavenized versions in Eclipse so that soilj was visible in the IJ/Fiji plugins folder. In other words, I did not succeed to set the whole thing up for debugging.
I have now several questions:
i) Has there been a change between IJ 1.47 and IJ 1.50 concerning the prerequisites that IJ-plugins are visible in IJ when running in Eclipse? I have found out that I now need to edit the IJ_Props.txt file according to my plugin names in order to have them appearing in IJ instances under Eclipse. Before last Friday, the soilj plugins would appear in my Eclipse-IJ without me having edited IJ_Props.txt.
ii) Is it possible to achieve the same thing with mavenized versions? I have not succeeded to do so but may have overlooked some spurious refactoring between alternative soilj spellings (SoilJ/SoilJ_/soilj/soil_) and necessary entries in config files (IJ_Props/plugins.config). If you tell me now that it should not be a problem, I will try again. But maybe it is a problem?
iii) Are the underscores still needed for IJ-plugins to be visible in IJ or Fiji?
iv) Would you recommend making soilj a Fiji or rather an ImageJ plugin? I am really confused about what difference it would make. I am normally using the Fijified ImageJ, so I had thought I should make it a Fiji plugin. Maybe there is some documentation about this that I did not find?
v) Would you recommend migrating soilj to imagej2 before making it public?
OK… I guess that’s enough stupid questions for today… : )
Apologies for the longish post and cheers from sunny Sweden,