http://imagej.273.s1.nabble.com/Classifying-ROIs-in-the-RoiManager-tp5012523p5012533.html
> Hello,
>
> We had a similar need a while back, use this function
>
> /*
> * Returns an array of indexes of ROIs that match
> * the given regular expression
> */
> function findRoisWithName(roiName) {
> nR = roiManager("Count");
> roiIdx = newArray(nR);
> k=0;
> clippedIdx = newArray(0);
>
> for (i=0; i<nR; i++) {
> roiManager("Select", i);
> rName = Roi.getName();
> if (matches(rName, roiName)) {
> roiIdx[k] = i;
> k++;
> }
> }
> if (k>0) {
> clippedIdx = Array.trim(roiIdx,k);
> }
>
> return clippedIdx;
> }
>
>
> In your case, it would look something like this
> Idx = findRoisWithName("triangle.*");
>
> For (i=0; i< Idx.length; i++) {
> roiManager("Select", Idx[i]);
> // TO THINGS HERE
> }
>
> In case you want your ROIs sorted, then use roiManager("Sort"); before, as
> suggested by Romain
>
> Best
>
> Oli
>
>
>
>
> > -----Original Message-----
> > From: ImageJ Interest Group [mailto:
[hidden email]] On Behalf Of
> > Romain Guiet
> > Sent: Monday, April 20, 2015 8:04
> > To:
[hidden email]
> > Subject: Re: Classifying ROIs in the RoiManager
> >
> > Hi Avital,
> >
> > maybe you could use the macro functions :
> > Roi.getType : Returns, as a string, the type of the current selection.
> > Roi.setName(name)
> > roiManager(cmd), with cmd = "Sort", to sort your ROIs
> >
> > more on :
http://imagej.nih.gov/ij/developer/macro/functions.html#Top> >
> > I hope it will help you,
> >
> > Cheers,
> >
> > Romain
> >
> >
> > ---------------------------------------------------------------
> > Dr. Romain Guiet
> > Bioimaging and Optics Platform (PT-BIOP) Ecole Polytechnique Fédérale de
> > Lausanne (EPFL) Faculty of Life Sciences Station 19, AI 0140
> > CH-1015 Lausanne
> >
> > Phone: [+4121 69] 39629
> >
http://biop.epfl.ch/> > ---------------------------------------------------------------
> >
> > ________________________________________
> > De : ImageJ Interest Group [
[hidden email]] de la part de Avital
> > Steinberg [
[hidden email]] Envoyé : dimanche 19 avril 2015
> > 21:09 À :
[hidden email] Objet : Classifying ROIs in the RoiManager
> >
> > Hi,
> > I would like to be able to choose ROIs belonging to a certain class from
> the
> > ROI manager in a macro. For example, I renamed the ROIs as triangle1,
> > triangle2, triangle3, circle1, circle2, rectangle1, rectangle2.
> >
> > I would like to be able to add triangles and iterate over all the
> triangles. I can
> > sort the ROIs in the RoiManager, so that the ROIs of a certain class
> will be in
> > consecutive order.
> >
> > However, in order to be able to choose only triangles, I would have to
> keep
> > track of how many triangles there are.
> >
> > Is there an easier way to select (and iterate over) only ROIs of a
> certain class
> > (such as triangles or circles), without having to keep track of the
> number of
> > objects in each class and their order?
> >
> > Thanks,
> > Avital
> >
> > --
> > ImageJ mailing list:
http://imagej.nih.gov/ij/list.html> >
> > --
> > ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>