[ITK] How to check the functions in the ITK documentation

Bradley Lowekamp blowekamp at mail.nih.gov
Mon Jun 9 08:54:15 EDT 2014


Luis,

Here was my stab at the issue:
http://review.source.kitware.com/#/c/15611/1/Utilities/Doxygen/doxygen.config.in

Any one have any experience in getting "EXPAND_AS_DEFINED" to work with Doxygen?

Brad

On Jun 9, 2014, at 8:47 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:

> Matt,
> 
> Thanks for preparing the patch.
> 
> The removal of the number argument looks right to me.
> I just submitted some comments in the review.
> 
> Brad also posted two reviews.
> 
> Brad: would you like to take a cut at fixing the macros ?
> 
>  Thanks
> 
>     Luis
> 
> 
> 
> 
> 
> 
> On Mon, Jun 9, 2014 at 8:20 AM, Matt McCormick <matt.mccormick at kitware.com> wrote:
> Hi Simplicity and Luis,
> 
> Please review this patch, which fixed the Doxygen macro definition:
> 
>   http://review.source.kitware.com/#/c/15703/
> 
> Thanks,
> Matt
> 
> On Sat, May 10, 2014 at 8:52 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
> > There are some cases in which methods are implemented via Macros.
> >
> > This is done with the purpose of improving consistency and simplicity
> > in the code, but come at the price of sometimes not seeing directly
> > where the code is implemented.
> >
> > The typical examples are the
> >
> >           itkSetMacro(  variablename, type )
> >           itkGetMacro(  variablename, type )
> >
> > That are used in most ITK classes to implement Get / Set methods.
> >
> >
> >
> > For the particular case of the SetFileName method,
> > it helps to look at the Macro
> >
> >      itkSetGetDecoratedInputMacro(FileName, std::string);
> >
> >
> > in the documentation at:
> >
> > http://www.itk.org/Insight/Doxygen/html/classitk_1_1ImageFileReader.html#a3d0bb0e7bd412a76f92f71acdb42bff2
> >
> >
> > You will find it used in line 130 of the itkImageFileReader.h file:
> >
> > https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/IO/ImageBase/include/itkImageFileReader.h#L130
> >
> >
> > You will find this macro defined in turn in:
> >
> >          ITK/Modules/Core/Common/include/itkMacro.h
> >
> > https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkMacro.h#L808
> >
> >  808 #define itkSetGetDecoratedInputMacro(name, type)  \
> >  809   itkSetDecoratedInputMacro(name, type)           \
> >  810   itkGetDecoratedInputMacro(name, type)
> >
> >
> > Then, if you follow the itkSetDecoratedInputMacro() in line 758
> >
> > https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkMacro.h#L758
> >
> > where the macro defines (in this case) the functions:
> >
> >          SetFileNameInput()
> >
> >          SetFileName()
> >
> >
> > by the lines
> >
> >
> > 759:    virtual void Set##name##Input( ...
> >
> > 768:     virtual void Set##name( ....
> >
> >
> > where "name" is the argument of the macro,
> > and in this particular case it corresponds to "FileName".
> >
> >
> >
> > In principle, we can adjust the configuration of the Doxygen
> > documentation to expand this macros in the HTML pages,
> > reflecting better what the compiler gets to see, after the
> > macros have been used to generate code.
> >
> >
> > This is done in the file:
> >
> > ITK/Utilities/Doxygen/doxygen.config.in
> >
> > https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/Doxygen/doxygen.config.in#L1961
> >
> >
> >
> >
> > ---------------------------------------
> >
> >
> > Hope this helps,
> >
> >
> >     Thanks
> >
> >          Luis
> >
> >
> >
> >
> >
> > On Sat, May 10, 2014 at 6:15 AM, Michka Popoff <michkapopoff at gmail.com>
> > wrote:
> >>
> >> Hi
> >>
> >> I merged your two questions in one topic, so I can answer the two at once.
> >>
> >> In the class ImageFileReader, there is no SetFileName method. But the
> >> documentation states:
> >> This source object is a general filter to read data from a variety of file
> >> formats. It works with a ImageIOBase subclass to actually do the reading of
> >> the data.
> >>
> >> So if you go the ImageIOBase [1] class definition, you will find the
> >> SetFileName method. This can be confusing at the beginning, but when you
> >> don’t find a method somewhere (and this is often the case for most of
> >> projects you’ll find around, not only ITK), think to look at the parent
> >> class and the child/subclass. Often the methods are defined somewhere else.
> >>
> >>
> >> For the Update() call, this is related to the ITK pipeline. Some detailed
> >> description can be found here [2]. There is also one article here [3] that
> >> is more readable, or there is a section (13.3) in the ITK software guide
> >> here [4].
> >>
> >> Finally, we have a nice set of examples here [5] which show you how to use
> >> the ITK pipeline. This should help you getting started.
> >>
> >>
> >> [1] http://www.itk.org/Insight/Doxygen/html/classitk_1_1ImageIOBase.html
> >> [2] http://www.itk.org/Doxygen/html/classitk_1_1DataObject.html
> >> [3] http://www.kitware.com/media/html/IOStreamingInITK.html
> >> [4] http://www.itk.org/ItkSoftwareGuide.pdf
> >> [5] http://itk.org/ITKExamples/
> >>
> >>
> >> On 9 mai 2014, at 22:45, Simplicity Peace <simplicitypeacescm at gmail.com>
> >> wrote:
> >>
> >> Hello,
> >>
> >> For instance, I tried to look for the functions of the class
> >> "ImageFileReader". In the ITK software guide, a function called
> >> "SetFileName" was used. I thought of looking for the functions that come
> >> under that class here, but couldn't find that "SetFileName" function. Am I
> >> searching in the wrong place?
> >>
> >> Thanks.
> >> _______________________________________________
> >> Community mailing list
> >> Community at itk.org
> >> http://public.kitware.com/cgi-bin/mailman/listinfo/community
> >>
> >>
> >> Hello,
> >>
> >> I'm new to `ITK`. I just want to ask, what does `Update()` mean? For
> >> example, I found that I had to use it with an `ImageFileReader`. Why is
> >> that?
> >>
> >> Thanks.
> >>
> >>
> >> _______________________________________________
> >> Community mailing list
> >> Community at itk.org
> >> http://public.kitware.com/cgi-bin/mailman/listinfo/community
> >>
> >
> >
> > _______________________________________________
> > Community mailing list
> > Community at itk.org
> > http://public.kitware.com/cgi-bin/mailman/listinfo/community
> >
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140609/b2039f17/attachment-0002.html>


More information about the Community mailing list