Re: Disjoint ROI selection using macro language

Posted by Michael Schmid on
URL: http://imagej.273.s1.nabble.com/Disjoint-ROI-selection-using-macro-language-tp3692854p3692855.html

Hi Ben,

using a very similar system (but MacOS 10.4.11, not 10.5), I have  
neither problems with 1.42l nor with the nightly build of a few days  
ago.

Selecting the ROIs manually works as expected.

After running the macro, the log says:
area[ 0 ]= 433
area[ 3 ]= 434
area[ 7 ]= 278
Expected total area for 3 items= 1145
after measure, nResults= 129  area=1145

ImageJ Properties:

Java properties applets can read:
   java.version: 1.5.0_16
   java.vendor: Apple Computer, Inc.
   mrj.version: 1040.1.5.0_16-275
   os.name: Mac OS X
   os.version: 10.4.11
   os.arch: i386
   file.separator: /
   path.separator: :
   line.separator: <lf>

Java properties only applications can read:
(...)
   user.country: US
   file.encoding: MacRoman
   java.home: /System/Library/Frameworks/JavaVM.framework/Versions/
1.5.0/Home
   java.class.path: (...) /ij.jar:/System/Library/Java/Extensions/
QTJava.zip:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Classes/.compatibility/14compatibility.jar
   java.ext.dirs: /Library/Java/Extensions:/System/Library/Java/
Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Home/lib/ext
   java.io.tmpdir: /tmp

Other properties:
(... same as yours)
   Prefs.weightedColor: true
   Prefs.blackCanvas: false
   Prefs.pointAutoMeasure: false
   Prefs.pointAutoNextSlice: false
   Prefs.requireControlKey: false
   Prefs.useInvertingLut: false
   Prefs.antialiasedTools: true
   Prefs.useInvertingLut: false
   Prefs.intelByteOrder: false
   Prefs.doubleBuffer: false
   Prefs.noPointLabels: true
   Prefs.disableUndo: false
(...)
   Sample images dir: http://rsb.info.nih.gov/ij/images/
   Screen size: 1680x1050
   Memory in use: 3738K of 800MB (<1%)

Is it really 1.42l or a nightly build previous to 1.42l that you are  
using?
The released 1.42l ij.jar has 1.373.997 bytes.

Maybe something got stuck - does the problem go away if you restart  
ImageJ?


Michael
________________________________________________________________

On 16 Apr 2009, at 19:44, Ben Tupper wrote:

> Hi All,
>
> I think I have managed to completely confuse myself and would love  
> some help getting straightened out...
>
> (1) As I manually select an item in the ROI Manager list it is not  
> the item highlighted in the mask. For example, highlighting the  
> first item in the ROI Manager list will outline the second particle  
> in the mask.  (I often confuse the indices between roiManager
> ("select", x); and getResults("Something", x); where x is either  
> zero-based or one-based. This is going to really drive me bonkers.)
>
> (2) I expected the total area of the new combined ROI to equal the  
> sum of the areas in the selection (they do not equal - in fact, it  
> looks like only the first particle is added.)  A year ago I thought  
> I had this all figured out, but now I can't get it to behave as I  
> would like.  I have written a macro (below) is to select some  
> arbitrary number of ROIs and combine them into one.
>
> //START MACRO
> run("Blobs (25K)");
> setAutoThreshold();
> //run("Threshold...");
> setThreshold(125, 255);
> run("Convert to Mask");
> run("Set Measurements...", "area mean standard modal min centroid  
> center perimeter bounding fit shape feret's integrated median  
> skewness kurtosis redirect=None decimal=3");
> run("Analyze Particles...", "size=0-Infinity circularity=0.00-1.00  
> show=Nothing display clear record add");
>
> //combine items 0, 3 and 7 into one ROI
> index = newArray(0,3,7);
> area = 0;
> for (i=0; i<index.length; i++){
> a = getResult("Area", index[i]);
> area = area + a;
> print("area[", index[i], "]=", a);
> }
> print("Expected total area for 3 items=", area);
>
> setKeyDown("shift")
> roiManager("select", 0);
> setKeyDown("shift")
> roiManager("select", 3);
> setKeyDown("shift")
> roiManager("select", 7);
>
> roiManager("Add");
> roiManager("Measure");
> print("after measure, nResults=", nResults ," area=" + getResult
> ("Area", nResults-1));
>
> //END MACRO
>
> I note there is a bug-fix in ROI manager regarding combining ROIs  
> for v1.42f, but I am running v1.42l.
>
>
> Ben Tupper
>
>
>
> Java properties applets can read:
>   java.version: 1.5.0_16
>   java.vendor: Apple Inc.
>   mrj.version: 1050.1.5.0_16-284
>   os.name: Mac OS X
>   os.version: 10.5.6
>   os.arch: i386
>   file.separator: /
>   path.separator: :
>   line.separator: <lf>
>
> Java properties only applications can read:
>   user.name: ben
>   user.home: /Users/ben
>   user.dir: /Applications/ImageJ
>   user.country: US
>   file.encoding: MacRoman
>   java.home: /System/Library/Frameworks/JavaVM.framework/Versions/
> 1.5.0/Home
>   java.class.path: /Applications/ImageJ/ImageJ.app/../ij.jar:/
> System/Library/Java/Extensions/QTJava.zip
>   java.ext.dirs: /Library/Java/Extensions:/System/Library/Java/
> Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/
> 1.5.0/Home/lib/ext
>   java.io.tmpdir: /tmp
>
> Other properties:
>   IJ.getVersion: 1.42l
>   IJ.isJava2: true
>   IJ.isJava15: true
>   IJ.isJava16: false
>   IJ.isLinux: false
>   IJ.isMacintosh: true
>   IJ.isMacOSX: true
>   IJ.isWindows: false
>   IJ.isVista: false
>   IJ.is64Bit: false
>   Menus.getPlugInsPath: /Applications/ImageJ/plugins/
>   Menus.getMacrosPath: /Applications/ImageJ/macros/
>   Prefs.getHomeDir: /Applications/ImageJ
>   Prefs.getThreads: 2 (2 cores)
>   Prefs.open100Percent: false
>   Prefs.blackBackground: false
>   Prefs.useJFileChooser: false
>   Prefs.weightedColor: false
>   Prefs.blackCanvas: false
>   Prefs.pointAutoMeasure: false
>   Prefs.pointAutoNextSlice: false
>   Prefs.requireControlKey: false
>   Prefs.useInvertingLut: false
>   Prefs.antialiasedTools: true
>   Prefs.useInvertingLut: false
>   Prefs.intelByteOrder: false
>   Prefs.doubleBuffer: false
>   Prefs.noPointLabels: false
>   Prefs.disableUndo: false
>   Prefs dir: /Users/ben/Library/Preferences
>   Current dir: /Users/Shared/data/441.2009-04-23.400A4X_03 2/
>   Sample images dir: http://rsb.info.nih.gov/ij/images/
>   Screen size: 1440x900
>   Memory in use: 11MB of 400MB (2%)