Переглянути джерело

Merge branch 'fix-doxygen-comment-style'

Made comments consistent.

Closes #36
Marco Nolden 13 роки тому
батько
коміт
f9a7c18c2c

+ 5 - 5
Libs/DICOM/Core/ctkDICOMAbstractThumbnailGenerator.h

@@ -30,15 +30,15 @@
 class ctkDICOMAbstractThumbnailGeneratorPrivate;
 class DicomImage;
 
-/**
-  \brief Abstract thumbnail generator class
-*/
+///
+/// \brief Abstract thumbnail generator class
+///
 class CTK_DICOM_CORE_EXPORT ctkDICOMAbstractThumbnailGenerator : public QObject
 {
   Q_OBJECT
 public:
-  /** \brief Construct a ctkDICOMAbstractThumbnailGenerator object
-  */
+  ///  \brief Construct a ctkDICOMAbstractThumbnailGenerator object
+  ///
   explicit ctkDICOMAbstractThumbnailGenerator(QObject* parent = 0);
   virtual ~ctkDICOMAbstractThumbnailGenerator();
 

+ 18 - 18
Libs/DICOM/Core/ctkDICOMDatabase.h

@@ -121,25 +121,25 @@ public:
   Q_INVOKABLE QStringList headerKeys ();
   Q_INVOKABLE QString headerValue (QString key);
 
-  /** Insert into the database if not already exsting.
-    *  @param dataset The dataset to store into the database. Usually, this is
-    *                 is a complete DICOM object, like a complete image. However
-    *                 the database also inserts partial objects, like studyl
-    *                 information to the database, even if no image data is
-    *                 contained. This can be helpful to store results from
-    *                 querying the PACS for patient/study/series or image
-    *                 information, where a full hierarchy is only constructed
-    *                 after some queries.
-    *  @param storeFile If store file is set (default), then the dataset will
-    *                   be stored to disk. Note that in case of a memory-only
-    *                   database, this flag is ignored. Usually, this flag
-    *                   does only make sense if a full object is received.
-    *  @param @generateThumbnail If true, a thumbnail is generated.
-    */
+  /// Insert into the database if not already exsting.
+  /// @param dataset The dataset to store into the database. Usually, this is
+  ///                is a complete DICOM object, like a complete image. However
+  ///                the database also inserts partial objects, like studyl
+  ///                information to the database, even if no image data is
+  ///                contained. This can be helpful to store results from
+  ///                querying the PACS for patient/study/series or image
+  ///                information, where a full hierarchy is only constructed
+  ///                after some queries.
+  /// @param storeFile If store file is set (default), then the dataset will
+  ///                  be stored to disk. Note that in case of a memory-only
+  ///                  database, this flag is ignored. Usually, this flag
+  ///                  does only make sense if a full object is received.
+  /// @param @generateThumbnail If true, a thumbnail is generated.
+  ///
   void insert ( DcmDataset *dataset, bool storeFile = true, bool generateThumbnail = true);
-  /***
-    * Helper method: get the path that should be used to store this image.
-    */
+  ///
+  /// Helper method: get the path that should be used to store this image.
+  ///
   QString pathForDataset( DcmDataset *dataset);
 
 signals:

+ 8 - 8
Libs/DICOM/Core/ctkDICOMDataset.cpp

@@ -93,14 +93,14 @@ void ctkDICOMDataset::InitializeFromDataset(DcmDataset* dataset)
       }
       if (d->m_SpecificCharacterSet.isEmpty())
       {
-        /**
-          see Bug # 6458:
-          There are cases, where different studies of the same person get encoded both with and without the SpecificCharacterSet attribute set.
-          DICOM says: default is ASCII / ISO_IR 6 / ISO 646
-          Since we experienced such mixed data, we supplement missing characterset information with the ISO_IR 100 / Latin1 character set.
-          Since Latin1 is a superset of ASCII, this will not cause problems. PLUS in most cases (Europe) we will guess right and suppress
-          "double patients" in applications.
-        */
+        ///
+        /// see Bug # 6458:
+        /// There are cases, where different studies of the same person get encoded both with and without the SpecificCharacterSet attribute set.
+        /// DICOM says: default is ASCII / ISO_IR 6 / ISO 646
+        /// Since we experienced such mixed data, we supplement missing characterset information with the ISO_IR 100 / Latin1 character set.
+        /// Since Latin1 is a superset of ASCII, this will not cause problems. PLUS in most cases (Europe) we will guess right and suppress
+        /// "double patients" in applications.
+        ///
         SetElementAsString( DCM_SpecificCharacterSet, "ISO_IR 100" );
       }
     }

+ 110 - 126
Libs/DICOM/Core/ctkDICOMDataset.h

@@ -33,31 +33,29 @@ class DcmDataDictionary;
 
 
 class ctkDICOMDatasetPrivate;
-/**
-  \brief Base class for DICOM objects and interface with DICOM toolkit DCMTK.
-
-  This class serves as the base class for all DICOM objects (patient, study, series, image).
-
-  The class is derived from DcmDataset, the data type that is used by the DICOM toolkit when
-  reading an image file or formulating a message request or receiving a message response (e.g. C-FIND).
-
-  Basically it offers a lot of convenience methods for subclasses to read and write DICOM attributes
-  using Qt types. It is the subclasses responsibility to use the correct data types as defined in DICOM.
-
-  \note ONLY the Get.. methods should be used to access the internal dataset.
-
-  When reading string type attributes (LO, LT, PN, SH, ST, UT), we consider the "specific character set"
-  tag and decode the stored string using the correct encoding (using Qt methods). This allows to
-  display e.g. person names written in arabic, hebrew, greek, russian, etc. letters.
-
-  \warning Right now, asian phonetic strings cause problems. We have to learn the concept.
-  \warning Helpers for writing DICOM attributes are not yet implemented. Implementation is straightforward though and can be done when necessary.
-  \warning DateTime objects ignore the timezone at the moment. This is however of secondary importance.
-
-  A subclass could possibly want to store the internal DcmDataset.
-  For this purpose, the internal DcmDataset is serialized into a memory buffer using DcmDataset::write(..). This buffer
-  is stored in a base64 encoded string. For deserialization we decode the string and use DcmDataset::read(..).
-*/
+///  \brief Base class for DICOM objects and interface with DICOM toolkit DCMTK.
+///
+///  This class serves as the base class for all DICOM objects (patient, study, series, image).
+///
+///  The class is derived from DcmDataset, the data type that is used by the DICOM toolkit when
+///  reading an image file or formulating a message request or receiving a message response (e.g. C-FIND).
+///
+///  Basically it offers a lot of convenience methods for subclasses to read and write DICOM attributes
+///  using Qt types. It is the subclasses responsibility to use the correct data types as defined in DICOM.
+///
+///  \note ONLY the Get.. methods should be used to access the internal dataset.
+///
+///  When reading string type attributes (LO, LT, PN, SH, ST, UT), we consider the "specific character set"
+///  tag and decode the stored string using the correct encoding (using Qt methods). This allows to
+///  display e.g. person names written in arabic, hebrew, greek, russian, etc. letters.
+///
+///  \warning Right now, asian phonetic strings cause problems. We have to learn the concept.
+///  \warning Helpers for writing DICOM attributes are not yet implemented. Implementation is straightforward though and can be done when necessary.
+///  \warning DateTime objects ignore the timezone at the moment. This is however of secondary importance.
+///
+///  A subclass could possibly want to store the internal DcmDataset.
+///  For this purpose, the internal DcmDataset is serialized into a memory buffer using DcmDataset::write(..). This buffer
+///  is stored in a base64 encoded string. For deserialization we decode the string and use DcmDataset::read(..).
 class CTK_DICOM_CORE_EXPORT ctkDICOMDataset : public DcmDataset
 {
 public:
@@ -65,104 +63,90 @@ public:
     ctkDICOMDataset();
     virtual ~ctkDICOMDataset();
 
-    /**
-      \brief For initialization from a DcmDataset in a constructor / assignment.
+    /// \brief For initialization from a DcmDataset in a constructor / assignment.
+    ///
+    /// This method should be overwritten by all derived classes. It should
+    /// be called from the constructor or assignment operators when the class
+    /// should copy information from a DcmDataset object.
 
-      This method should be overwritten by all derived classes. It should
-      be called from the constructor or assignment operators when the class
-      should copy information from a DcmDataset object.
-
-      \warning Derived classes must call PDICOMDataset::InitializeFromDataset(...) to correctly copy encoding information.
-    */
+    /// \warning Derived classes must call PDICOMDataset::InitializeFromDataset(...) to correctly copy encoding information.
     virtual void InitializeFromDataset(DcmDataset* dataset);
 
-    /**
-      \brief For initialization from file in a constructor / assignment.
-    */
-    virtual void InitializeFromFile(const QString& filename, 
+    ///
+    /// \brief For initialization from file in a constructor / assignment.
+    ///
+    virtual void InitializeFromFile(const QString& filename,
                     const E_TransferSyntax readXfer = EXS_Unknown,
                     const E_GrpLenEncoding groupLength = EGL_noChange,
                     const Uint32 maxReadLength = DCM_MaxReadLength,
                     const E_FileReadMode readMode = ERM_autoDetect);
 
-    /**
-     \brief Store a string representation of the object to a database field.
-
-     The internal DcmDataset is serialized into a memory buffer using DcmDataset::write(..).
-     To store the memory buffer in a simple string database field, we convert it to a base64 encoded string.
-     Doing so prevents errors from encoding conversions that could be made by QString or the database etc.
-    */
+    /// \brief Store a string representation of the object to a database field.
+    ///
+    /// The internal DcmDataset is serialized into a memory buffer using DcmDataset::write(..).
+    /// To store the memory buffer in a simple string database field, we convert it to a base64 encoded string.
+    /// Doing so prevents errors from encoding conversions that could be made by QString or the database etc.
     void Serialize();
 
-    /**
-     \brief Restore the object from a string representation in a database field.
-
-     The database stored string is base64 decoded into a memory buffer. Then
-     the internal DcmDataset is created using DcmDataset::read(..).
-    */
+    /// \brief Restore the object from a string representation in a database field.
+    ///
+    /// The database stored string is base64 decoded into a memory buffer. Then
+    /// the internal DcmDataset is created using DcmDataset::read(..).
     void Deserialize();
 
 
-    /**
-      \brief To be called from InitializeData, flags status as dirty.
-
-      This is to allow data to be read as late as possible. All the
-      Get/SetElement... methods ensure initialization, which checks this flag.
-    */
+    /// \brief To be called from InitializeData, flags status as dirty.
+    ///
+    /// This is to allow data to be read as late as possible. All the
+    /// Get/SetElement... methods ensure initialization, which checks this flag.
     void MarkForInitialization();
 
-    /**
-      \brief Called by all Get/Set methods to initialize DcmDataSet if needed.
-    */
+    ///
+    /// \brief Called by all Get/Set methods to initialize DcmDataSet if needed.
+    ///
     void EnsureDcmDataSetIsInitialized() const;
 
 
-    /**
-      \brief Find element in dataset and copy it into internal DcmDataset
-
-      Attribute types 1, 1C, 2, 2C, 3 as defined in DICOM can be encoded as
-      hex values 0x1, 0x1C, 0x2, 0x2C, 0x3.
-
-      Conditional attributes are considered MUST attributes. The calling
-      function shall test the conditions before calling CopyElement
-      (since conditions might be complex).
-    */
+    /// \brief Find element in dataset and copy it into internal DcmDataset
+    ///
+    /// Attribute types 1, 1C, 2, 2C, 3 as defined in DICOM can be encoded as
+    /// hex values 0x1, 0x1C, 0x2, 0x2C, 0x3.
+    ///
+    /// Conditional attributes are considered MUST attributes. The calling
+    /// function shall test the conditions before calling CopyElement
+    /// (since conditions might be complex).
     bool CopyElement( DcmDataset* dataset, const DcmTagKey& tag, int type );
 
-    /**
-      \brief creates a QString from the OFString, respecting the "specific character set" of the Dataset.
-
-      This method checks if the dataset has an attribute "specific character set".
-      If so, all attributes of types Long String (LO), Long Text (LT), Person Name (PN), Short String (SH),
-      Short Text (ST), Unlimited Text (UT) should be interpreted as encoded with a special set.
-
-      See implementation for details.
-    */
+    /// \brief creates a QString from the OFString, respecting the "specific character set" of the Dataset.
+    ///
+    /// This method checks if the dataset has an attribute "specific character set".
+    /// If so, all attributes of types Long String (LO), Long Text (LT), Person Name (PN), Short String (SH),
+    /// Short Text (ST), Unlimited Text (UT) should be interpreted as encoded with a special set.
+    ///
+    /// See implementation for details.
     QString Decode(const DcmTag& tag, const OFString& raw) const;
 
-    /**
-      \brief creates an OFString from the QtString
-
-      \warning The method currently assumes that the encoding of the passed string if latin1 and converts
-      it accordingly. The passed DICOM tag is not yet evaluated to determine the actual encoding type.
-    */
+    /// \brief creates an OFString from the QtString
+    ///
+    /// \warning The method currently assumes that the encoding of the passed string if latin1 and converts
+    /// it accordingly. The passed DICOM tag is not yet evaluated to determine the actual encoding type.
     OFString Encode(const DcmTag& tag, const QString& qstring) const;
 
-    /**
-      \brief A const-correct version of DcmDataset::findAndGetElement.
-    */
+    ///
+    /// \brief A const-correct version of DcmDataset::findAndGetElement.
+    ///
     OFCondition findAndGetElement(const DcmTag& tag, DcmElement*& element, const OFBool searchIntoSub=OFFalse) const; // DCMTK is not const-correct
 
-    /**
-      \brief A const-correct version of DcmDataset::findAndGetOFString.
-    */
+    ///
+    ///  \brief A const-correct version of DcmDataset::findAndGetOFString.
+    ///
     OFCondition findAndGetOFString(const DcmTag& tag, OFString& value, const unsigned long pos = 0, const OFBool searchIntoSub=OFFalse) const; // DCMTK is not const-correct
 
     static bool CheckCondition(const OFCondition&);
 
-    /**
-      \brief Get-methods for for all subtypes of DcmByteString
-    */
+    ///
+    /// \brief Get-methods for for all subtypes of DcmByteString
+    ///
     QString          GetAllElementValuesAsString( const DcmTag& tag ) const;
     QString                   GetElementAsString( const DcmTag& tag, unsigned long pos = 0 ) const;
     QStringList           GetElementAsStringList( const DcmTag& tag ) const;
@@ -175,15 +159,15 @@ public:
     int                  GetElementAsSignedShort( const DcmTag& tag, unsigned long pos = 0 ) const; // type SS
     int                GetElementAsUnsignedShort( const DcmTag& tag, unsigned long pos = 0 ) const; // type US
 
-    /**
-    \warning IGNORES TIME ZONE at the moment!
-    */
+    ///
+    /// \warning IGNORES TIME ZONE at the moment!
+    ///
     QDateTime       GetElementAsDateTime( const DcmTag& tag, unsigned long pos = 0 ) const;
 
 
-    /**
-    \brief Set-methods for for all subtypes of DcmByteString
-    */
+    ///
+    /// \brief Set-methods for for all subtypes of DcmByteString
+    ///
     bool SetElementAsString( const DcmTag& tag, QString string );
     bool SetElementAsStringList( const DcmTag& tag, QStringList stringList ); //> Currently not implemented
     bool SetElementAsPersonName( const DcmTag& tag, ctkDICOMPersonName personName );
@@ -196,47 +180,47 @@ public:
     bool SetElementAsUnsignedShort( const DcmTag& tag, int value, unsigned long pos = 0 ); // type US
 
 
-    /**
-      \brief Get a human-readable version of patient position enumerations used e.g. in DICOM series.
-    */
+    ///
+    /// \brief Get a human-readable version of patient position enumerations used e.g. in DICOM series.
+    ///
     static QString TranslateDefinedTermPatientPosition( const QString& dt );
 
-    /**
-      \brief Get a human-readable version of modality enumerations used e.g. in DICOM series.
-    */
+    ///
+    /// \brief Get a human-readable version of modality enumerations used e.g. in DICOM series.
+    ///
     static QString TranslateDefinedTermModality( const QString& dt );
 
-    /**
-      \brief Nicely formatted (group,element) version of a tag
-    */
+    ///
+    /// \brief Nicely formatted (group,element) version of a tag
+    ///
     static QString TagKey( const DcmTag& tag );
 
-    /**
-      \brief Description (name) of the tag
-    */
+    ///
+    /// \brief Description (name) of the tag
+    ///
     static QString TagDescription( const DcmTag& tag );
 
-    /**
-      \brief Value Representation
-    */
+    ///
+    /// \brief Value Representation
+    ///
     static QString TagVR( const DcmTag& tag );
 
 protected:
 
-    /**
-      \brief Callback for retrieving a serialized version of this class
-
-      You can override this method in a subclass to retrieve a serialized
-      version of the object from some storage mechanism, eg a database
-    */
+    ///
+    /// \brief Callback for retrieving a serialized version of this class
+    ///
+    /// You can override this method in a subclass to retrieve a serialized
+    /// version of the object from some storage mechanism, eg a database
+    ///
     virtual QString GetStoredSerialization();
 
-    /**
-      \brief Callback for storing a serialized version of this class
-
-      You can override this method in a subclass to store a serialized
-      version of the object to some storage mechanism, eg a database
-    */
+    ///
+    /// \brief Callback for storing a serialized version of this class
+    ///
+    /// You can override this method in a subclass to store a serialized
+    /// version of the object to some storage mechanism, eg a database
+    ///
     virtual void SetStoredSerialization(QString serializedDataset);
 
   QScopedPointer<ctkDICOMDatasetPrivate> d_ptr;

+ 24 - 24
Libs/DICOM/Core/ctkDICOMIndexer.h

@@ -21,7 +21,7 @@
 #ifndef __ctkDICOMIndexer_h
 #define __ctkDICOMIndexer_h
 
-// Qt includes 
+// Qt includes
 #include <QObject>
 #include <QSqlDatabase>
 
@@ -31,44 +31,44 @@
 class ctkDICOMIndexerPrivate;
 class ctkDICOMAbstractThumbnailGenerator;
 
-/**
-    \brief Indexes DICOM images located in local directory into an Sql database
-*/
+///
+/// \brief Indexes DICOM images located in local directory into an Sql database
+///
 class CTK_DICOM_CORE_EXPORT ctkDICOMIndexer : public QObject
 {
   Q_OBJECT
 public:
   explicit ctkDICOMIndexer(QObject *parent = 0);
   virtual ~ctkDICOMIndexer();
-  
-  /**
-      \brief Adds directory to database and optionally copies files to
-      destinationDirectory.
-      
-      Scan the directory using Dcmtk and populate the database with all the
-      DICOM images accordingly.
-  */
+
+  ///
+  /// \brief Adds directory to database and optionally copies files to
+  /// destinationDirectory.
+  ///
+  /// Scan the directory using Dcmtk and populate the database with all the
+  /// DICOM images accordingly.
+  ///
   Q_INVOKABLE void addDirectory(ctkDICOMDatabase& database, const QString& directoryName,
                     const QString& destinationDirectoryName = "",
                     bool createHierarchy = true, bool createThumbnails = true);
 
-  /**
-      \brief Adds a file to database and optionally copies the file to
-      destinationDirectory.
- 
-      Scan the file using Dcmtk and populate the database with all the
-      DICOM fields accordingly.
-  */
+  ///
+  /// \brief Adds a file to database and optionally copies the file to
+  /// destinationDirectory.
+  ///
+  /// Scan the file using Dcmtk and populate the database with all the
+  /// DICOM fields accordingly.
+  ///
   Q_INVOKABLE void addFile(ctkDICOMDatabase& database, const QString& filePath,
                     const QString& destinationDirectoryName = "",
                     bool createHierarchy = true, bool createThumbnails = true);
 
   Q_INVOKABLE void refreshDatabase(ctkDICOMDatabase& database, const QString& directoryName);
 
-  /**
-      \brief runs a query and prints debug output of status
- 
-  */
+  ///
+  /// \brief runs a query and prints debug output of status
+  ///
+  ///
   bool loggedExec(QSqlQuery& query);
   bool loggedExec(QSqlQuery& query, const QString& queryString);
 
@@ -87,7 +87,7 @@ signals:
 
 protected:
   QScopedPointer<ctkDICOMIndexerPrivate> d_ptr;
-  
+
 private:
   Q_DECLARE_PRIVATE(ctkDICOMIndexer);
   Q_DISABLE_COPY(ctkDICOMIndexer);

+ 6 - 6
Libs/DICOM/Core/ctkDICOMPersonName.h

@@ -31,9 +31,9 @@
 #include <string>
 
 class ctkDICOMPersonNameData;
-/**
-  \brief A person's name as modelled in DICOM.
-*/
+///
+/// \brief A person's name as modelled in DICOM.
+///
 class CTK_DICOM_CORE_EXPORT ctkDICOMPersonName
 {
 public:
@@ -48,9 +48,9 @@ public:
   ctkDICOMPersonName& operator=(const ctkDICOMPersonName& other);
 
   virtual ~ctkDICOMPersonName();
-  /**
-    \brief "Lastname, FirstName MiddleName, Suffix" (useful for alphabetical sorting)
-  */
+  ///
+  /// \brief "Lastname, FirstName MiddleName, Suffix" (useful for alphabetical sorting)
+  ///
   QString formattedName() const;
 
   QString lastName() const;

+ 25 - 25
Libs/DICOM/Core/ctkDICOMTester.h

@@ -21,7 +21,7 @@
 #ifndef __ctkDICOMTester_h
 #define __ctkDICOMTester_h
 
-// Qt includes 
+// Qt includes
 #include <QObject>
 class QProcess;
 
@@ -29,11 +29,11 @@ class QProcess;
 #include "ctkDICOMCoreExport.h"
 class ctkDICOMTesterPrivate;
 
-/** \brief Utility class to test DICOM network applications
-    A simple DICOM archive server can be run (startDCMQRSCP()), and images
-    can be stored into the server using storeData(). It internally uses
-    storeSCU.
- */
+/// \brief Utility class to test DICOM network applications
+/// A simple DICOM archive server can be run (startDCMQRSCP()), and images
+/// can be stored into the server using storeData(). It internally uses
+/// storeSCU.
+///
 class CTK_DICOM_CORE_EXPORT ctkDICOMTester : public QObject
 {
   Q_OBJECT
@@ -55,32 +55,32 @@ public:
   void setStoreSCUExecutable(const QString& storescu);
   QString storeSCUExecutable()const;
 
-  /** Port number [0,65365] where the dcmqrscp and storescu communicate.
-      Changing the port won't change the port of any running process.
-      You must stop and restart any process you want to have its port changed
-  */
+  ///  Port number [0,65365] where the dcmqrscp and storescu communicate.
+  /// Changing the port won't change the port of any running process.
+  /// You must stop and restart any process you want to have its port changed
+  ///
   void setDCMQRSCPPort(int port);
   int dcmqrscpPort()const;
 
-  /** Starts a new DCMQRSCP as a separate process. The process is running until
-      stopDCMQRSCP is called or ctkDICOMTester is destroyed.
-      Only one process of DCMQRSCP can be running at a time.
-      Calling startDCMQRSCP() while a DCMQRSCP process is already running
-      results into a no-op. The return value is 0.
-      \sa QProcess::start(),
-   */
+  ///  Starts a new DCMQRSCP as a separate process. The process is running until
+  /// stopDCMQRSCP is called or ctkDICOMTester is destroyed.
+  /// Only one process of DCMQRSCP can be running at a time.
+  /// Calling startDCMQRSCP() while a DCMQRSCP process is already running
+  /// results into a no-op. The return value is 0.
+  /// \sa QProcess::start(),
+  ///
   Q_INVOKABLE QProcess* startDCMQRSCP();
 
-  /** Stop the running DCMQRSCP process. Returns it's exit status or false if
-      there is no running process.
-  */
+  ///  Stop the running DCMQRSCP process. Returns it's exit status or false if
+  /// there is no running process.
+  ///
   Q_INVOKABLE bool stopDCMQRSCP();
 
-  /** Pushes data (DCM images referred to by file name in data list) using DCMTK 
-      storeSCU app. It creates a separate process and waits for its termination.
-      To be working, dcmqrscp must be running
-      \sa startDCMQRSCP()
-   */
+  ///  Pushes data (DCM images referred to by file name in data list) using DCMTK
+  /// storeSCU app. It creates a separate process and waits for its termination.
+  /// To be working, dcmqrscp must be running
+  /// \sa startDCMQRSCP()
+  ///
   Q_INVOKABLE bool storeData(const QStringList& data);
 
 protected:

+ 28 - 28
Libs/DICOM/Widgets/ctkDICOMImage.h

@@ -22,7 +22,7 @@
 #ifndef __ctkDICOMImage_h
 #define __ctkDICOMImage_h
 
-// Qt includes 
+// Qt includes
 #include <QObject>
 #include <QImage>
 
@@ -31,45 +31,45 @@
 class ctkDICOMImagePrivate;
 class DicomImage;
 
-/**
-  \brief Wrapper around a DCMTK DicomImage.
-
-  This class wraps a DicomImage object and exposes it as a Qt class.
-*/
+///
+/// \brief Wrapper around a DCMTK DicomImage.
+///
+/// This class wraps a DicomImage object and exposes it as a Qt class.
+///
 class CTK_DICOM_WIDGETS_EXPORT ctkDICOMImage : public QObject
 {
   Q_OBJECT
   Q_PROPERTY(unsigned long frameCount READ frameCount);
 public:
-  /** \brief Construct a ctkDICOMImage
-      The dicomImage pointer must remain valid during all the life of
-      the constructed ctkDICOMImage.
-  */
+  ///  \brief Construct a ctkDICOMImage
+  /// The dicomImage pointer must remain valid during all the life of
+  /// the constructed ctkDICOMImage.
+  ///
   explicit ctkDICOMImage(DicomImage* dicomImage, QObject* parent = 0);
   virtual ~ctkDICOMImage();
 
-  /**
-      \brief Returns the pointer on the dicom image given in the constructor.
-      
-      This is provided as a utility function. Do not delete the returned
-      pointer.
-      TBD: Return a "const DicomImage*" instead?
-  */
+  ///
+  /// \brief Returns the pointer on the dicom image given in the constructor.
+  ///
+  /// This is provided as a utility function. Do not delete the returned
+  /// pointer.
+  /// TBD: Return a "const DicomImage*" instead?
+  ///
   DicomImage* dicomImage() const;
 
-  /**
-      \brief Returns a specific frame of the dicom image
-  */
+  ///
+  /// \brief Returns a specific frame of the dicom image
+  ///
   QImage frame(int frame = 0) const;
 
-  /**
-      \brief Returns the number of frames contained in the dicom image.
-      \sa DicomImage::getFrameCount()
-
-      Please note that this function does not return the number of frames
-      stored in the DICOM file/dataset. It rather refers to the number of
-      frames processed by this class.
-  */
+  ///
+  /// \brief Returns the number of frames contained in the dicom image.
+  /// \sa DicomImage::getFrameCount()
+  ///
+  /// Please note that this function does not return the number of frames
+  /// stored in the DICOM file/dataset. It rather refers to the number of
+  /// frames processed by this class.
+  ///
   unsigned long frameCount() const;
 
 protected:

+ 5 - 5
Libs/DICOM/Widgets/ctkDICOMThumbnailGenerator.h

@@ -29,15 +29,15 @@
 class ctkDICOMThumbnailGeneratorPrivate;
 class DicomImage;
 
-/**
-  \brief  thumbnail generator class
-*/
+///
+/// \brief  thumbnail generator class
+///
 class CTK_DICOM_WIDGETS_EXPORT ctkDICOMThumbnailGenerator : public ctkDICOMAbstractThumbnailGenerator
 {
   Q_OBJECT
 public:
-  /** \brief Construct a ctkDICOMThumbnailGenerator object
-  */
+  ///  \brief Construct a ctkDICOMThumbnailGenerator object
+  ///
   explicit ctkDICOMThumbnailGenerator(QObject* parent = 0);
   virtual ~ctkDICOMThumbnailGenerator();