Dear all,
I try to get a Classified image created by a macro but this does not work for me. Creating a probability map works fine though. I modified the example macro from this page http://fiji.sc/Trainable_Weka_Segmentation#Macro_language_compatibility to reproduce what I mean (pasted below). If I select [1-probability map] in the beginning, the macro does what I expect. If I select [2- classified image] nothing happens. I can manually click on "Create result" and the Classified image is created. Shouldn´t that work from the macro as well? Thanks for helping Martin I´m using (Fiji Is Just) ImageJ 2.0.0-rc-23/1.49m ***************macro to reproduce the behaviour************** //get home directory home=getDirectory("home"); //choice between probability maps or classified image Dialog.create("Info"); Dialog.addNumber("Probability map [1] or Classified image [2] ? ",1); Dialog.show(); choice=Dialog.getNumber(); // Open Leaf sample run("Leaf (36K)"); // start plugin run("Trainable Weka Segmentation"); // wait for the plugin to load wait(3000); selectWindow("Trainable Weka Segmentation v2.1.7"); // add one region of interest to each class makeRectangle(367, 0, 26, 94); call("trainableSegmentation.Weka_Segmentation.addTrace", "0", "1"); makeRectangle(186, 132, 23, 166); call("trainableSegmentation.Weka_Segmentation.addTrace", "1", "1"); // train current classifier call("trainableSegmentation.Weka_Segmentation.trainClassifier"); // save current classifier call("trainableSegmentation.Weka_Segmentation.saveClassifier", home+File.separator+"testclassifier.model"); // close weka plugin selectWindow("Trainable Weka Segmentation v2.1.7"); run("Close"); wait(3000); // start plugin again run("Trainable Weka Segmentation"); // wait for the plugin to load wait(3000); selectWindow("Trainable Weka Segmentation v2.1.7"); //load classifier call("trainableSegmentation.Weka_Segmentation.loadClassifier", home+File.separator+"testclassifier.model"); // display probability maps or Classified image if (choice==1) call("trainableSegmentation.Weka_Segmentation.getProbability"); //this works fine if (choice==2) call("trainableSegmentation.Weka_Segmentation.getResult"); //this does not work |
Hi Martin,
I think there is a bug in the Weka Segmentation function public static void getResult(). If I compare this function to the public static void getProbability(), the getProbability function sets wekaSegmentation. applyClassifier(true) before actually getting the classified image. I did not delve deeper into this issue and also did not add code changes to the segmentation plugin for testing, but I used this to get the macro working with following workaround. This also seems to explain why following workaround in the macro works: call("trainableSegmentation.Weka_Segmentation.getProbability"); -> to ensure that a classified image was created. selectWindow("Trainable Weka Segmentation v2.1.7"); call("trainableSegmentation.Weka_Segmentation.getResult"); If you now close the Probability map window in choice==2, this worked on my machine although this makes the macro slightly longer to run as the probability maps are calculated anyway. Niko On Wed, Jan 28, 2015 at 6:43 PM, Martin Höhne <[hidden email]> wrote: > Dear all, > > I try to get a Classified image created by a macro but this does not work > for me. Creating a probability map works fine though. > I modified the example macro from this page > > http://fiji.sc/Trainable_Weka_Segmentation#Macro_language_compatibility > > to reproduce what I mean (pasted below). > > If I select [1-probability map] in the beginning, the macro does what I > expect. If I select [2- classified image] nothing happens. I can manually > click on "Create result" and the Classified image is created. Shouldn´t > that > work from the macro as well? > > Thanks for helping > Martin > > I´m using > (Fiji Is Just) ImageJ 2.0.0-rc-23/1.49m > > > ***************macro to reproduce the behaviour************** > > //get home directory > home=getDirectory("home"); > > //choice between probability maps or classified image > Dialog.create("Info"); > Dialog.addNumber("Probability map [1] or Classified image [2] ? > ",1); > Dialog.show(); > choice=Dialog.getNumber(); > > // Open Leaf sample > run("Leaf (36K)"); > > // start plugin > run("Trainable Weka Segmentation"); > > // wait for the plugin to load > wait(3000); > selectWindow("Trainable Weka Segmentation v2.1.7"); > > // add one region of interest to each class > makeRectangle(367, 0, 26, 94); > call("trainableSegmentation.Weka_Segmentation.addTrace", "0", "1"); > makeRectangle(186, 132, 23, 166); > call("trainableSegmentation.Weka_Segmentation.addTrace", "1", "1"); > > // train current classifier > call("trainableSegmentation.Weka_Segmentation.trainClassifier"); > > // save current classifier > call("trainableSegmentation.Weka_Segmentation.saveClassifier", > home+File.separator+"testclassifier.model"); > > // close weka plugin > selectWindow("Trainable Weka Segmentation v2.1.7"); > run("Close"); > wait(3000); > > // start plugin again > run("Trainable Weka Segmentation"); > > // wait for the plugin to load > wait(3000); > selectWindow("Trainable Weka Segmentation v2.1.7"); > > //load classifier > call("trainableSegmentation.Weka_Segmentation.loadClassifier", > home+File.separator+"testclassifier.model"); > > // display probability maps or Classified image > > if (choice==1) > call("trainableSegmentation.Weka_Segmentation.getProbability"); //this > works > fine > if (choice==2) call("trainableSegmentation.Weka_Segmentation.getResult"); > //this does not work > > > > -- > View this message in context: > http://imagej.1557.x6.nabble.com/Trainable-Weka-segmentation-Probability-map-but-not-Classiefied-image-produced-by-macro-tp5011357.html > Sent from the ImageJ mailing list archive at Nabble.com. > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- Dr. Nikolay Kladt Image and Data Analyst, CECAD Imaging Facility [hidden email] ++49 221 478 84028 https://www.linkedin.com/in/kladtn CECAD Cologne - Excellent in Aging Research Universität zu Köln Joseph-Stelzmann Str. 26 50931 Cologne -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Thanks Martin and Niko for reporting this problem!
I have just fixed it and released a new version of the plugin. Enjoy! On Thu, Jan 29, 2015 at 10:23 AM, Nikolay Kladt <[hidden email]> wrote: > Hi Martin, > > I think there is a bug in the Weka Segmentation function public static void > getResult(). If I compare this function to the public static void > getProbability(), the getProbability function sets wekaSegmentation. > applyClassifier(true) before actually getting the classified image. I did > not delve deeper into this issue and also did not add code changes to the > segmentation plugin for testing, but I used this to get the macro working > with following workaround. > > This also seems to explain why following workaround in the macro works: > > call("trainableSegmentation.Weka_Segmentation.getProbability"); -> to > ensure that a classified image was created. selectWindow("Trainable Weka > Segmentation v2.1.7"); > call("trainableSegmentation.Weka_Segmentation.getResult"); > > If you now close the Probability map window in choice==2, this worked on my > machine although this makes the macro slightly longer to run as the > probability maps are calculated anyway. > > > Niko > > > On Wed, Jan 28, 2015 at 6:43 PM, Martin Höhne <[hidden email]> > wrote: > > > Dear all, > > > > I try to get a Classified image created by a macro but this does not work > > for me. Creating a probability map works fine though. > > I modified the example macro from this page > > > > http://fiji.sc/Trainable_Weka_Segmentation#Macro_language_compatibility > > > > to reproduce what I mean (pasted below). > > > > If I select [1-probability map] in the beginning, the macro does what I > > expect. If I select [2- classified image] nothing happens. I can manually > > click on "Create result" and the Classified image is created. Shouldn´t > > that > > work from the macro as well? > > > > Thanks for helping > > Martin > > > > I´m using > > (Fiji Is Just) ImageJ 2.0.0-rc-23/1.49m > > > > > > ***************macro to reproduce the behaviour************** > > > > //get home directory > > home=getDirectory("home"); > > > > //choice between probability maps or classified image > > Dialog.create("Info"); > > Dialog.addNumber("Probability map [1] or Classified image [2] ? > > ",1); > > Dialog.show(); > > choice=Dialog.getNumber(); > > > > // Open Leaf sample > > run("Leaf (36K)"); > > > > // start plugin > > run("Trainable Weka Segmentation"); > > > > // wait for the plugin to load > > wait(3000); > > selectWindow("Trainable Weka Segmentation v2.1.7"); > > > > // add one region of interest to each class > > makeRectangle(367, 0, 26, 94); > > call("trainableSegmentation.Weka_Segmentation.addTrace", "0", "1"); > > makeRectangle(186, 132, 23, 166); > > call("trainableSegmentation.Weka_Segmentation.addTrace", "1", "1"); > > > > // train current classifier > > call("trainableSegmentation.Weka_Segmentation.trainClassifier"); > > > > // save current classifier > > call("trainableSegmentation.Weka_Segmentation.saveClassifier", > > home+File.separator+"testclassifier.model"); > > > > // close weka plugin > > selectWindow("Trainable Weka Segmentation v2.1.7"); > > run("Close"); > > wait(3000); > > > > // start plugin again > > run("Trainable Weka Segmentation"); > > > > // wait for the plugin to load > > wait(3000); > > selectWindow("Trainable Weka Segmentation v2.1.7"); > > > > //load classifier > > call("trainableSegmentation.Weka_Segmentation.loadClassifier", > > home+File.separator+"testclassifier.model"); > > > > // display probability maps or Classified image > > > > if (choice==1) > > call("trainableSegmentation.Weka_Segmentation.getProbability"); //this > > works > > fine > > if (choice==2) call("trainableSegmentation.Weka_Segmentation.getResult"); > > //this does not work > > > > > > > > -- > > View this message in context: > > > http://imagej.1557.x6.nabble.com/Trainable-Weka-segmentation-Probability-map-but-not-Classiefied-image-produced-by-macro-tp5011357.html > > Sent from the ImageJ mailing list archive at Nabble.com. > > > > -- > > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > > > > > > -- > Dr. Nikolay Kladt > Image and Data Analyst, CECAD Imaging Facility > [hidden email] > ++49 221 478 84028 > https://www.linkedin.com/in/kladtn > > CECAD Cologne - Excellent in Aging Research > Universität zu Köln > Joseph-Stelzmann Str. 26 > 50931 Cologne > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- Ignacio Arganda-Carreras, Ph.D. Seung's lab, 46-5065 Department of Brain and Cognitive Sciences Massachusetts Institute of Technology 43 Vassar St. Cambridge, MA 02139 USA Phone: (001) 617-324-3747 Website: http://bioweb.cnb.csic.es/~iarganda/index_EN.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi Ignacio,
I still got the same problem using Trainable Weka Segmentation v.2.2.0 in the latest Fiji release, that I downloaded today. I cannot run: call("trainableSegmentation.Weka_Segmentation.getResult"); and hence cannot save the output of a "Classified image". Nils |
You're right, Nils. I introduced a bug when fixing the previous errors.
I have just found a solution and released a new version of the plugin. Please, go ahead and update Fiji to get it. Thanks for reporting! ignacio On Mon, May 4, 2015 at 2:16 PM, Nils_Kaplan < [hidden email]> wrote: > Hi Ignacio, > > I still got the same problem using Trainable Weka Segmentation v.2.2.0 in > the latest Fiji release, that I downloaded today. I cannot run: > > call("trainableSegmentation.Weka_Segmentation.getResult"); > > and hence cannot save the output of a "Classified image". > > Nils > > > > -- > View this message in context: > http://imagej.1557.x6.nabble.com/Trainable-Weka-segmentation-Probability-map-but-not-Classiefied-image-produced-by-macro-tp5011357p5012703.html > Sent from the ImageJ mailing list archive at Nabble.com. > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- Ignacio Arganda-Carreras, Ph.D. Institut Jean-Pierre Bourgin, UMR1318 INRA-AgroParisTech Bâtiment 2 INRA Centre de Versailles-Grignon Route de St-Cyr (RD10) 78026 Versailles Cedex France Tel : +33 (0)1 30 83 30 00 - fax : +33 (0)1 30 83 33 19 Website: http://sites.google.com/site/iargandacarreras/ <http://biocomp.cnb.csic.es/~iarganda/index_EN.html> -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |