[Insight-developers] kwstyle - doxygen - partial template specialization

Bradley Lowekamp blowekamp at mail.nih.gov
Fri May 6 14:50:59 EDT 2011


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
>> 
>> 
> 

========================================================
Bradley Lowekamp  
Lockheed Martin Contractor for
Office of High Performance Computing and Communications
National Library of Medicine 
blowekamp at mail.nih.gov


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110506/e29da73b/attachment-0001.htm>


More information about the Insight-developers mailing list