SuperElastix / elastix

Official elastix repository
http://elastix.dev
Apache License 2.0
474 stars 116 forks source link

COMP: Upgrade Doxygen to 1.11.0 #1197

Closed N-Dekker closed 2 months ago

N-Dekker commented 2 months ago

Addressed Doxygen 1.11.0 warnings saying:

warning: Tag 'OUTPUT_TEXT_DIRECTION' at line 102 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'HTML_TIMESTAMP' at line 1281 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'FORMULA_TRANSPARENT' at line 1573 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'LATEX_SOURCE_CODE' at line 1875 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'LATEX_TIMESTAMP' at line 1891 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'RTF_SOURCE_CODE' at line 1965 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'DOCBOOK_PROGRAMLISTING' at line 2070 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'CLASS_DIAGRAMS' at line 2303 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'DOT_FONTNAME' at line 2345 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'DOT_FONTSIZE' at line 2352 of file elastix/help/doxyfile.out has become obsolete. warning: Tag 'DOT_TRANSPARENT' at line 2576 of file elastix/help/doxyfile.out has become obsolete.

To avoid this warning please update your configuration file using "doxygen -u"

By running doxygen.exe -u doxyfile.out, and reverse-engineering that update to doxygen.in (while preserving the 14 CMake configure "@..." placeholders).

N-Dekker commented 2 months ago

@mstaring @stefanklein I noticed that some source files and directories are excluded from Doxygen:

https://github.com/SuperElastix/elastix/blob/e3cafc5c1cd5d1eda4736984c3d3050d9353cc6f/dox/doxygen/doxyfile.in#L871-L875

Shouldn't any internal helper class be excluded? For example, what about ComputeDisplacementDistribution or MeshFileReaderBase? Shouldn't anything in "elastix\Common" be excluded? Anything that the user cannot directly use, isn't part of the API or executable interface?

stefanklein commented 2 months ago

Hi Niels, I think we only excluded stuff that cluttered the Doxygen view. You raise an interesting point. The current doxygen is not particularly focused towards external users. It's a mix. Partly it is useful for developers like ourselves, and anyone who likes to understand the inner workings of Elastix, or reuse some classes in their own software. So therefore files in elastix\Common are still useful to include. But parameter options are of course more targeted to external users, and they may be confused by all the other information. So a more focused view that only documents the API or executable interface might be useful for them. Best, Stefan

Van: Niels Dekker @.> Verzonden: vrijdag 12 juli 2024 15:22 Aan: SuperElastix/elastix @.> CC: Stefan Klein @.>; Mention @.> Onderwerp: Re: [SuperElastix/elastix] COMP: Upgrade Doxygen to 1.11.0 (PR #1197)

Waarschuwing: Deze e-mail is afkomstig van buiten de organisatie. Klik niet op links en open geen bijlagen, tenzij u de afzender herkent en weet dat de inhoud veilig is. Caution: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

@mstaringhttps://github.com/mstaring @stefankleinhttps://github.com/stefanklein I noticed that some source files and directories are excluded from Doxygen:

https://github.com/SuperElastix/elastix/blob/e3cafc5c1cd5d1eda4736984c3d3050d9353cc6f/dox/doxygen/doxyfile.in#L871-L875

Shouldn't any internal helper class be excluded? For example, what about ComputeDisplacementDistributionhttps://elastix.dev/doxygen/classitk_1_1ComputeDisplacementDistribution.html or MeshFileReaderBasehttps://elastix.dev/doxygen/classitk_1_1MeshFileReaderBase.html? Shouldn't anything in "elastix\Common" be excluded? Anything that the user cannot directly use, isn't part of the API or executable interface?

- Reply to this email directly, view it on GitHubhttps://github.com/SuperElastix/elastix/pull/1197#issuecomment-2225580845, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAF2LNMZGEFXL53HKZRQVATZL7J7XAVCNFSM6AAAAABKY42E6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRVGU4DAOBUGU. You are receiving this because you were mentioned.Message ID: @.**@.>>

N-Dekker commented 2 months ago

For the record: During our last internal sprint we shortly discussed possibilities to make the information for elastix end users (rather than C++ developers) easier accessible, as well as the possibility to use GitHub Pages. However, we decided to postpone these ideas until after the upcoming elastix release (5.2.0)