[Insight-developers] kwstyle - doxygen - partial template specialization
Arnaud GELAS
arnaud_gelas at hms.harvard.edu
Fri May 6 14:57:41 EDT 2011
Thanks Brad!
I forgot about the existence of this file :)!!
Can someone tell me what needs to be added in this file?
---
but you also pointed an interesting problem, for instance the functor is
not documented but the filter is.
2 classes, only one is documented.
I can't understand why KWStyle is not complaining here!?
Arnaud
On 05/06/2011 02:50 PM, Bradley Lowekamp wrote:
> Hello,
>
>
> What about adding an exception to "Utilities/KWStyle/ITKOverwrite.txt"
> for the problematic files?
>
> Brad
>
> On May 6, 2011, at 2:36 PM, Arnaud GELAS wrote:
>
>> Brad,
>>
>> if the documentation of EdgePotentialImageFilter was next to its
>> declaration, you would not need to use \class!!
>> Althouh you'd get one KWStyle error, i.e.
>>
>> Error #20 (61) comment doesn't have \class
>>
>> I have tested with the following:
>>
>> template< class TInput, class TOutput >
>> class EdgePotential
>>
>> ...
>>
>> /** \brief Computes the edge potential of an image from the image
>> gradient.
>> *
>> * Input to this filter should be a CovariantVector image representing
>> * the image gradient.
>> *
>> * The filter expect both the input and output images to have the same
>> * number of dimensions, and the output to be of a scalar image type.
>> *
>> * \ingroup ITK-ImageIntensity
>> */
>> template< class TInputImage, class TOutputImage >
>> class ITK_EXPORT EdgePotentialImageFilter
>>
>> ---
>>
>> Note that in this particular case, it would make sense anyway to move
>> the documentation of EdgePotentialImageFilter,
>> next to its declaration and write the documentation of the functor...
>>
>>
>> I agree that we should push push developers to use the \class command
>> in any case, but enforcing creates problem in the documentation.
>> Relaxing this constraint would fix the documentation!!!
>>
>> Arnaud
>>
>>
>>
>> On 05/06/2011 02:19 PM, Bradley Lowekamp wrote:
>>> Arnaud,
>>>
>>> I was just looking at
>>> ImageIntensity/include/itkEdgePotentialImageFIlter.h and I see the
>>> following pattern ( which occurs in many of the functor filters ):
>>>
>>> ** \class EdgePotentialImageFilter
>>> *
>>> * \brief Computes the edge potential of an image from the image
>>> gradient.
>>> *
>>> ...
>>> * \ingroup ITK-ImageIntensity
>>> */
>>> namespace Functor
>>> {
>>> template< class TInput, class TOutput >
>>> class EdgePotential
>>> {
>>> ...
>>> };
>>> } // end namespace Functor
>>>
>>> template< class TInputImage, class TOutputImage >
>>> class ITK_EXPORT EdgePotentialImageFilter:
>>> public
>>> ...
>>>
>>>
>>> It such a case isn't the "\class" needed so that the doxygen
>>> comments appear with the FIlter and not the functor?
>>>
>>> Brad
>>>
>>>
>>> On May 6, 2011, at 1:05 PM, Arnaud GELAS wrote:
>>>
>>>> Hi all,
>>>>
>>>> It took me a while to figure out to remove such a kind of warning
>>>> in doxygen (for partial template specialization), and to make it
>>>> appear correctly in doxygen:
>>>>
>>>> /home/ajg23/DOCUMENTATION/ITK_Static_Release/ITK/Modules/Core/Common/include/itkNumericTraitsCovariantVectorPixel.h:26:
>>>> warning: the name `CovariantVector' supplied as the argument of the
>>>> \class, \struct, \union, or \include command is not an input file
>>>> /home/ajg23/DOCUMENTATION/ITK_Static_Release/ITK/Modules/Core/Common/include/itkNumericTraitsDiffusionTensor3DPixel.h:28:
>>>> warning: the name `DiffusionTensor3D' supplied as the argument of
>>>> the \class, \struct, \union, or \include command is not an input file
>>>>
>>>>
>>>> Right now all specialization documentation appear in NumericTraits,
>>>> see http://www.itk.org/Doxygen/html/classitk_1_1NumericTraits.html
>>>>
>>>> To solve this problem, we *MUST *remove /\class/ in all these files
>>>> and document each template parameter via /\tparam/. Then it works fine!
>>>>
>>>> However KWStyle enforce all class to have /\class/...
>>>>
>>>> After running some experiments, it appears that /\class/ is not
>>>> mandatory for any class; doxygen will automatically generate the
>>>> class documentation even if there is no \class marker.
>>>>
>>>> So would it be possible to relax this constraint in KWStyle in
>>>> order to improve doxygen documentation?
>>>>
>>>> Thanks,
>>>> Arnaud
>>>> <ATT00001..txt>
>>>
>>> ========================================================
>>> Bradley Lowekamp
>>> Lockheed Martin Contractor for
>>> Office of High Performance Computing and Communications
>>> National Library of Medicine
>>> blowekamp at mail.nih.gov <mailto:blowekamp at mail.nih.gov>
>>>
>>>
>>
>
> ========================================================
>
> Bradley Lowekamp
>
> Lockheed Martin Contractor for
>
> Office of High Performance Computing and Communications
>
> National Library of Medicine
>
> blowekamp at mail.nih.gov <mailto:blowekamp at mail.nih.gov>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110506/09a5b252/attachment.htm>
More information about the Insight-developers
mailing list