Login  Register

Re: Find connected regions 3D / Flood filling 3D from seed region

Posted by Djoere Gaublomme on Oct 07, 2014; 7:46am
URL: http://imagej.273.s1.nabble.com/Find-connected-regions-3D-Flood-filling-3D-from-seed-region-tp5009839p5009930.html

Hello Thomas,

That is correct, I only want the pixels with exactly the same value as  
neighbouring voxels in the seed.
I'll send you a sample image.

Kind regards

Djoere


Quoting Thomas Boudier <[hidden email]>:

> Hi Djoere,
>
> Ok, I understand better, you want to connect voxels that have  
> exactly the same values as the seed, right ? Can you send me a  
> sample image with seeds, I think that playing with different local  
> threshold with special values may work, but I would need an image to  
> test it.
>
> Best,
>
> Thomas
>
>
> On 07/10/14 15:12, Djoere Gaublomme wrote:
>> Hello,
>>
>> Unfortunately these solutions don't seem to solve the problem at hand.
>>
>> If I understand correctly, the "Connected Component Labeling" from the
>> IJPB plugin only works on binary images, whereas I want to perform the
>> connecting on a grayscale image, based on a seed region that is binary.
>>
>> The spot detection plugin comes very close to what is desired, but the
>> criteria for object extension are not the correct ones in this case.
>> For example, if I understand correctly, "Constant" would extend the seed
>> whenever a neighbouring voxel of my seed region is above the "Constant"
>> gray value, regardless of what the gray value of the seed voxel next to
>> it is.
>>
>> What I am looking for is an extension of my seed regions that acts like
>> a 3D flood fill, namely that all connected voxels with the same
>> grayscale value will be selected.
>>
>> Does anybody know if this exists?
>>
>> Thanks in advance
>>
>> Djoere
>>
>>
>>
>> Quoting Djoere Gaublomme <[hidden email]>:
>>
>>> Thanks for the replies Ignacio and Thomas, I will check these out!
>>>
>>> Kind regards
>>>
>>> Djoere
>>>
>>>
>>> Quoting Thomas Boudier <[hidden email]>:
>>>
>>>> Hi Djoere,
>>>>
>>>> Not sure to fully understand, but it seems that you have some seeds,
>>>> and want to aggregate voxels to these seeds based on some criteria.
>>>> May be have a look to some spots detection plugins like
>>>>
>>>> http://imagejdocu.tudor.lu/doku.php?id=plugin:segmentation:3d_spots_segmentation:start&s[]=spots&s[]=detection
>>>>
>>>>
>>>> you need two images, one with seeds (may be you need to "draw" your
>>>> rois) and a signal image, it uses local threshold to aggregate voxels
>>>> to the seeds, in your case, local threshold is a constant.
>>>>
>>>> Hope this helps
>>>>
>>>> Thomas
>>>>
>>>
>>>
>>>
>>> Quoting Ignacio Arganda-Carreras <[hidden email]>:
>>>
>>>> Hello Djoere,
>>>>
>>>> You might want to install the IJPB-plugins library. It comes with an
>>>> efficient implementation of Connected Components in 3D that you can
>>>> use to
>>>> find the region you want after binarizing it with the proper threshold.
>>>>
>>>> http://github.com/ijpb/ijpb-plugins
>>>>
>>>> After installation, you should have the plugin under "Plugins > Fast
>>>> Morphology > Binary Images > Connected Component Labeling".
>>>>
>>>> Let me know if you need more help,
>>>>
>>>> ignacio
>>>
>>>
>>>
>>>
>>>> On 01/10/14 16:54, Djoere Gaublomme wrote:
>>>>> Hi,
>>>>>
>>>>> I want to perform an action on a large 3D image stack (8-bit grayscale,
>>>>> approximately 800x800x800 and 500 MB).
>>>>> The action I want to do is to start from a selected ROI (preferably
>>>>> based on a separate Mask image) and find all neighbouring voxels with
>>>>> the same gray values (for clarification: I only want to select voxels
>>>>> that have the same gray value as a selected neighbouring voxel).  It
>>>>> does not matter whether gray value information is retained in the
>>>>> resulting image or not.
>>>>>
>>>>> For now, the only solution I found was to add an object to the 3D
>>>>> Manager from the Mask image, then put this selection on the grayscale
>>>>> stack and run "Find Connected Regions"
>>>>> [http://www.longair.net/edinburgh/imagej/find-connected-regions/ , with
>>>>> the following parameters : run("Find Connected Regions", "
>>>>> display_one_image display_results regions_must
>>>>> regions_for_values_over=1
>>>>> minimum_number_of_points=1 stop_after=-1"); ]
>>>>>
>>>>> However, this takes forever to process, so I am wondering if there is a
>>>>> faster alternative (and preferably one that is macro-friendly).
>>>>> I have tried Flood Fill (3D), but this does not appear to work with a
>>>>> seed region.
>>>>>
>>>>> Thanks in advance!
>>>>>
>>>>> Djoere
>>>>>
>>>>> --
>>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>>>
>>>>
>>>> --
>>>> /***************************************************************/
>>>>    Thomas Boudier, Associate Professor, UPMC,
>>>>    Université Pierre et Marie Curie, Paris, France.
>>>>    BioInformatics Institute (BII)/IPAL, Singapore.
>>>> /**************************************************************/
>>>>
>>>> --
>>>> 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
>>
>
> --
>   /***************************************************************/
>      Thomas Boudier, Associate Professor, UPMC,
>      Université Pierre et Marie Curie, Paris, France.
>      BioInformatics Institute (BII)/IPAL, Singapore.
> /**************************************************************/
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html