Login  Register

Re: How can I select ROIs within a ROI?

Posted by Avital Steinberg on Jul 10, 2015; 5:59am
URL: http://imagej.273.s1.nabble.com/How-can-I-select-ROIs-within-a-ROI-tp5013496p5013498.html

Hi Jeremy,
I think I can do something simpler than that. I can rename the ROIs in a
certain way that will enable me to sort the ROI manager so that each large
ROI will appear before the small ROIs that are contained in it. And I can
add a property to each ROI, such as "big" and "small". Then, I can iterate
over a limited number of ROIs each time I want to find "daughter" ROIs.

This is still complicated compared to a tree data structure, which is meant
for this purpose.

Thanks,
Avital

On Fri, Jul 10, 2015 at 8:29 AM, Jeremy Adler <[hidden email]>
wrote:

> Instead of working with ROIs it might be easier to work with images
>
> you have primary large ROIs, use them to fill a blank image with a
> different color for each ROI - use the ROI's ID as the intensity used for
> the fill operation. You now have a segmented image where each ROI is
> represented by the pixels of a single intensity, with each ROI having a
> unique intensity based on its ID
>
> create a second blank image and repeat the fill process with the smaller
> (secondary) ROIs, again using the ROI ID as the fill color.
>
> Now you combine the two images using the Image Correlator plugin -
> producing an image that shows which primary and secondary ROIs overlap - to
> check for overlap you just read the pixel value at a xy coordinate based on
> the IDs of the primary and secondary ROI. a non zero value shows overlap
> and the number itself is the number of pixels that overlap
>
> This assumes the that the primary ROIs do not overlap each other and
> similarly that the secondary ROIs do not overlap. I suspect that the image
> correlator plugin is limited to 8 bit images, so this approach would be
> limited to 255 primary and 255 secondary ROIs
>
> A lot depends on the questions you want to answer - you may be able to
> work with images and not ROIs. If your secondary ROIs are used, or even
> originate, from a binary image you could use this binary image and the
> segmented primary ROI image to select all  the objects within each primary
> ROI and then use this image to generate a new ROI of all the parts of the
> secondary ROIs within the each primary ROI and then used analyze\particles
> etc to make the measurements you want.
>
>
> ________________________________________
> From: ImageJ Interest Group [[hidden email]] on behalf of Avital
> Steinberg [[hidden email]]
> Sent: 10 July 2015 06:04
> To: [hidden email]
> Subject: How can I select ROIs within a ROI?
>
> Hi,
> I am writing a macro which segments ROIA, and then segments things within
> ROIA - I'll call them ROIA1, ROIA2. Likewise, I have a large ROIB and
> within it, some small ROIs - ROIB1, ROIB2, ROIB3, etc. (there may be 400
> large ROIs containing smaller ROIs within them)
>
> I would like to be able to select all of the ROIs which are contained
> within a certain ROI. How would I do that?
>
> In Java, I would use a tree data structure for this type of search.
>
> How would I do this in a macro? Searching the whole ROI list every time I
> want to find a subset is time consuming.
>
> 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