Select All ROIs in ROI Manager for measuring

Hi all, first time poster here!

I have a working macro that opens and loops through a list of folders within a directory, where each folder contains a set of DICOM images, and all sets are perfectly co-registered. Then, a predefined ROI set of 200 ROIs is imported and measured. The results are saved as .csv files named after it’s parent folder.

Here is my code:

Dir = getDirectory(“Choose a directory”);
list = getFileList(Dir);
setBatchMode(true);

for (i=0; i<list.length;i++) {
run(“Image Sequence…”, “open=[”+Dir+list[i]+"] sort");
run(“ROI Manager…”);
roiManager(“Open”, “(Users/xxxxxxx/Desktop/RoiSet.zip”);
roiManager(“Select”, 0);
roiManager(“Select”, newArray(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199));
roiManager(“Measure”);
name = getTitle() + “.csv”;
saveAs(“Measurements”, Dir+name);
}

Is there a code to Select All the ROIs in the ROI Manager after importing the RoiSet.zip, without using the newArray() and numbering each ROI? Feels like there should be a simple fix, but I’m not finding anything!

Thanks for your help :slight_smile:

1 Like

Hi,

if none of your rois is selected, roiManager(“Measure”) will just measure all of them by default. In principle when you import your Roiset.zip no roi is selected and you should be fine. In your case it’s not working because you select a roi in your script at this line:

roiManager(“Select”, 0);

Do you need that ? If not, just suppress it, and it should work. More generally you can also use:
roiManager(“Deselect”);
to deselect all rois.

Guillaume

1 Like

DOH, what a simple fix.

Thank you!