[ITK] Canny edge detection filter results

Dženan Zukić dzenanz at gmail.com
Tue Feb 2 17:13:30 EST 2016


The following example compiles for me. I guess the trick is in MITK, so you
should ask them for help.

#include <itkCannyEdgeDetectionImageFilter.h>
#include <itkDerivativeImageFilter.h>

void canny(){
    typedef itk::Image<float, 3> ImageType;
    typedef itk::CannyEdgeDetectionImageFilter<ImageType, ImageType>
CannyFilter;

    CannyFilter::Pointer filter = CannyFilter::New();
}

void derivative(){
    typedef itk::Image<float, 3> ImageType;
    typedef itk::DerivativeImageFilter<ImageType, ImageType>
DerivativeFilter;

    DerivativeFilter::Pointer filter = DerivativeFilter::New();
}

int main(){}

On Tue, Feb 2, 2016 at 4:59 PM, Joao Ascenso <j.ascenso at campus.fct.unl.pt>
wrote:

> A simple test I made. Just getting this example
> http://docs.mitk.org/nightly/Step01Page.html with no use of the filters
>
> Added  #include <itkCannyEdgeDetectionImageFilter.h>
>            #include <itkDerivativeImageFilter.h>
>
>
> and in the end
>
> void canny(){
> typedef itk::Image<float, 3> ImageType;
> typedef itk::CannyEdgeDetectionImageFilter<ImageType, ImageType>
> CannyFilter;
>
> CannyFilter::Pointer filter = CannyFilter::New();
> }
>
> void derivative(){
> typedef itk::Image<float, 3> ImageType;
> typedef itk::DerivativeImageFilter<ImageType, ImageType> DerivativeFilter;
>
> DerivativeFilter::Pointer filter = DerivativeFilter::New();
> }
>
>
> Only with derivative() builds successful and shows image
>
> added  canny() gets the errors
>
>
> On 2 February 2016 at 21:25, Dženan Zukić <dzenanz at gmail.com> wrote:
>
>> Can you share the source code of the example which uses the Canny filter?
>>
>> On Tue, Feb 2, 2016 at 4:24 PM, Joao Ascenso <j.ascenso at campus.fct.unl.pt
>> > wrote:
>>
>>> That's what have done. Started a new project, new directory and just
>>> using the canny filter gives me that, but no problems without it.
>>> Forget to mention I'm working with MITK.
>>>
>>>
>>> On 2 February 2016 at 21:08, Dženan Zukić <dzenanz at gmail.com> wrote:
>>>
>>>> The safest cure for such things is to do a clean rebuild (create new
>>>> build directory, do cmake and then open .sln file with VS and build). Let
>>>> us know if you run into problems.
>>>>
>>>> HTH
>>>>
>>>> On Tue, Feb 2, 2016 at 4:01 PM, Joao Ascenso <
>>>> j.ascenso at campus.fct.unl.pt> wrote:
>>>>
>>>>> Hello again,
>>>>>
>>>>> For some reason this errors appear in itkSparceFieldLayer.hxx
>>>>>
>>>>> Error C2512 'itk::ListNode<itk::Index<3>>': no appropriate default
>>>>> constructor available
>>>>> Error C2027 use of undefined type 'itk::ListNode<itk::Index<3>>'
>>>>> Error C2227 left of '->Next' must point to class/struct/union/generic
>>>>> type
>>>>> Error C2027 use of undefined type 'itk::ListNode<itk::Index<3>>'
>>>>> Error C2227 left of '->Previous' must point to
>>>>> class/struct/union/generic type
>>>>>
>>>>> They are related with the compilation of
>>>>> itk::CannyEdgeDetectionImageFilter. I've been using it so far with no
>>>>> problem. It started when I run the cmake file again and it complained about
>>>>> Platform Toolset v140 not being installed. I changed back to v120 to run it
>>>>> and those errors started.
>>>>>
>>>>> Generated project again in cmake to make sure it was with Visual
>>>>> Studio 12, same result.
>>>>> Any clues on this? Thanks
>>>>>
>>>>> On 19 January 2016 at 17:05, Joao Ascenso <j.ascenso at campus.fct.unl.pt
>>>>> > wrote:
>>>>>
>>>>>> Thank you Dženan.
>>>>>>
>>>>>> I did some oversampling between slices to solve the problem, with the
>>>>>> downside of making it much slower.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 18 January 2016 at 21:26, Dženan Zukić <dzenanz at gmail.com> wrote:
>>>>>>
>>>>>>> Hi Joao,
>>>>>>>
>>>>>>> if you are doing Canny filtering in 3D and then looking at 2D
>>>>>>> slices, the edges are usually not 1 pixel thick. This is because edge for
>>>>>>> 3D is a surface, and when you slice that surface along anatomical axes the
>>>>>>> surface will not be orthogonal to the slices in most places. Where surface
>>>>>>> is orthogonal, you get nice 1 pixel wide intersections. Where surface is
>>>>>>> parallel to the slice, you get a sizable intersection surface.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Dženan
>>>>>>>
>>>>>>> On Mon, Jan 18, 2016 at 11:47 AM, Joao Ascenso <
>>>>>>> j.ascenso at campus.fct.unl.pt> wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>> I'm working on OCT images (DICOM volume) of the retina and trying
>>>>>>>> to do the segmentation of some layers.
>>>>>>>>
>>>>>>>> After doing some noise reduction I'm applying the
>>>>>>>> CannyEdgeDetectionImageFilter, but the result give me thicker edges than
>>>>>>>> should be expected from Canny.
>>>>>>>>
>>>>>>>> Changing thresholds influences the amount of edges detected but
>>>>>>>> don't improve this issue.
>>>>>>>>
>>>>>>>> Anyone have came across similar problem? Any suggestion is welcome.
>>>>>>>>
>>>>>>>> Thank you,
>>>>>>>>
>>>>>>>> João Ascenso
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Community mailing list
>>>>>>>> Community at itk.org
>>>>>>>> http://public.kitware.com/mailman/listinfo/community
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> João Ascenso
>>>>>> Universidade Nova de Lisboa - Faculdade de Ciências e Tecnologias
>>>>>> Mestrado Integrado em Engenharia Electrotécnica e de Computadores
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> João Ascenso
>>>>> Universidade Nova de Lisboa - Faculdade de Ciências e Tecnologias
>>>>> Mestrado Integrado em Engenharia Electrotécnica e de Computadores
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> João Ascenso
>>> Universidade Nova de Lisboa - Faculdade de Ciências e Tecnologias
>>> Mestrado Integrado em Engenharia Electrotécnica e de Computadores
>>>
>>>
>>>
>>
>
>
> --
> João Ascenso
> Universidade Nova de Lisboa - Faculdade de Ciências e Tecnologias
> Mestrado Integrado em Engenharia Electrotécnica e de Computadores
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160202/7247bc40/attachment-0001.html>


More information about the Community mailing list