[ITK] ITK Example ShapeOpeningLabelMapFilter

Dženan Zukić dzenanz at gmail.com
Wed Aug 10 07:59:18 EDT 2016


Hi Jeanna,

by taking a look at the output, you need
objectnessFilter->SetBrightObject(false); and a larger size of
objectnessFilter->SetObjectDimension();

HTH,
Dženan

On Wed, Aug 10, 2016 at 12:01 AM, Jeanna S. <jeannasheen at gmail.com> wrote:

> Thanks for letting me know. I've changed the output image type to float
> and now it no longer shows up as just black. I've attached my output image
> (the image on the left is the input image; the image on the right is the
> output image). However, the filter seems not to detect blood vessels like I
> hoped, even after testing various values of Alpha, Beta, and Gamma. I was
> wondering if anybody has suggestions on how to improve the vessel detection?
>
> Thanks,
> Jeanna
>
> On Tue, Aug 9, 2016 at 6:29 AM, Dženan Zukić <dzenanz at gmail.com> wrote:
>
>> Hi Jeanna,
>>
>> output of this filter is in [0,1] range, and if your output image type is
>> not float then you will get an all-black image. Here is an example
>> invocation:
>>
>>     typedef itk::HessianToObjectnessMeasureImageFilter<
>> HessianImageType, FloatImageType > ObjectnessFilterType;
>>     ObjectnessFilterType::Pointer objectnessFilter =
>> ObjectnessFilterType::New();
>>     objectnessFilter->SetBrightObject(true);
>>     objectnessFilter->SetScaleObjectnessMeasure(false);
>>     objectnessFilter->SetObjectDimension(2.5);
>>     objectnessFilter->SetAlpha(0.5);
>>     objectnessFilter->SetBeta(1.0);
>>     objectnessFilter->SetGamma(5.0);
>>     objectnessFilter->SetInput(hc->GetOutput());
>>     objectnessFilter->Update();
>>     FloatImageType::Pointer objectness = objectnessFilter->GetOutput();
>>
>> On Mon, Aug 8, 2016 at 9:38 PM, Jeanna S. <jeannasheen at gmail.com> wrote:
>>
>>> Actually, I found a way to display the images to the screen. However, I
>>> am still not quite sure how to detect the blood vessels in my image. When I
>>> apply the itkHessianToObjectnessMeasureImageFilter on my image, it just
>>> turns out black. I was wondering if this is because there is not enough
>>> contrast between the vessels and the background. If so, is there any
>>> setting or threshold on the filter I can change so that it can detect the
>>> blood vessels?
>>>
>>> Thanks,
>>> Jeanna
>>>
>>> On Mon, Aug 8, 2016 at 4:37 PM, Jeanna S. <jeannasheen at gmail.com> wrote:
>>>
>>>> Hi Timothee,
>>>>
>>>> I'm using the itk:HessianToObjectnessMeasureImageFilter that you
>>>> suggested. I was wondering if there is any way for me to view the image on
>>>> the screen after it has been run through the filter, and if you have any
>>>> examples of the filter working on an image.
>>>>
>>>> Thanks,
>>>> Jeanna
>>>>
>>>> On Sun, Aug 7, 2016 at 4:13 PM, Jeanna S. <jeannasheen at gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Timothee,
>>>>>
>>>>> Thank you for replying. I will look into these methods.
>>>>>
>>>>> Jeanna
>>>>>
>>>>> On Wed, Aug 3, 2016 at 1:59 AM, Timothee Evain <
>>>>> tevain at telecom-paristech.fr> wrote:
>>>>>
>>>>>> Hello Jeanna,
>>>>>>
>>>>>> I think this will be difficult just with the LabelMap framework.
>>>>>> Usually to filter vessels you rely on some measures based on their
>>>>>> shape, but in the ShapeLabelObject, the elongation measure is "the ratio of
>>>>>> the longest physical size of the region [i.e. the bounding box] on one
>>>>>> dimension and its smallest physical size". This is a quite coarse measure,
>>>>>> sensitive to rotation, and I doubt it will be useful in your case.
>>>>>> Aside from the attribute problem, you also have to detect the vessels
>>>>>> prior to filtering them (i.e. getting a binary or a label image of
>>>>>> vessels), and the LabelMap framework doesn't do that.
>>>>>>
>>>>>> I would suggest taking a look at these other methods:
>>>>>> -Frangi's vesselness (implemented in itk through these filter :
>>>>>> itkHessianToObjectnessMeasureImageFilter or
>>>>>> itkHessian3DToVesselnessMeasureImageFilter)
>>>>>> -Ranking Orientation Responses of Path Openings, aka RORPO (
>>>>>> http://path-openings.github.io/RORPO/)
>>>>>> -Fast Marching (itkFastMarchingImageFilter)
>>>>>>
>>>>>> HTH,
>>>>>>
>>>>>> Tim
>>>>>>
>>>>>> ----- Mail original -----
>>>>>> De: "Jeanna S." <jeannasheen at gmail.com>
>>>>>> À: community at itk.org
>>>>>> Envoyé: Mercredi 3 Août 2016 03:08:42
>>>>>> Objet: [ITK] ITK Example ShapeOpeningLabelMapFilter
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I am trying to process the attached image using the
>>>>>> ShapeOpeningLabelMapFilter for the Insight Toolkit . The image is of a
>>>>>> retina, and I want to use the image filter to remove the blood vessels from
>>>>>> the picture (the blood vessels are the long, skinny, branching lines). I
>>>>>> was wondering if the example code for the ShapeOpeningLabelMapFilter ( here
>>>>>> ) would be able to do this with a little modification, and if so, which
>>>>>> attribute would be the most useful to identify and remove the blood vessels.
>>>>>>
>>>>>> Thanks in advance.
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Community mailing list
>>>>>> Community at itk.org
>>>>>> http://public.kitware.com/mailman/listinfo/community
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> when the rich wage war, it's the poor who die
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> when the rich wage war, it's the poor who die
>>>>
>>>
>>>
>>>
>>> --
>>> when the rich wage war, it's the poor who die
>>>
>>> _______________________________________________
>>> Community mailing list
>>> Community at itk.org
>>> http://public.kitware.com/mailman/listinfo/community
>>>
>>>
>>
>
>
> --
> when the rich wage war, it's the poor who die
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160810/d4496d5a/attachment-0001.html>


More information about the Community mailing list