]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOTreeDescriptor.cpp
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOTreeDescriptor.cpp
index c9a4e009c824ebf2b7051aa03254fd10d2c34780..03cfa41289ee328d6f590e0cafb3e12d75c469f7 100644 (file)
@@ -10,8 +10,8 @@ namespace creaImageIO
     //==================================================================
     /// The attribute is hidden (not visible to user)
     const unsigned int AttributeDescriptor::PRIVATE = 1;
-    /// The attribute enters in unique identifier constitution (KEY)
-    const unsigned int AttributeDescriptor::KEY = 2;
+    /// The attribute enters in unique identifier constitution 
+    const unsigned int AttributeDescriptor::IDENTIFIER = 2;
     const unsigned int AttributeDescriptor::LABEL = 4;
     //==================================================================
 
@@ -45,85 +45,88 @@ namespace creaImageIO
       // Creates the level 0 descriptor 
       CreateLevel0Descriptor();
       // Creates the attribute "Name"
-      GetAttributeDescriptorList(0).push_back(AttributeDescriptor("Name","Name"));
+      GetLevelDescriptor(0).Add(AttributeDescriptor("Name","Name",
+                                                   AttributeDescriptor::LABEL));
       
       // Patient level
       GetLevelDescriptorList().push_back(LevelDescriptor("Patient"));
-      GetAttributeDescriptorList(1).push_back(AttributeDescriptor(0x0010,0x0010,   // Patient name
+      GetLevelDescriptor(1).Add(AttributeDescriptor(0x0010,0x0010,   // Patient name
                                                                   AttributeDescriptor::LABEL));
-      GetAttributeDescriptorList(1).push_back(AttributeDescriptor(0x0010,0x0040)); // Patient sex
-      GetAttributeDescriptorList(1).push_back(AttributeDescriptor(0x0010,0x0030)); // Patient birthday
-      GetAttributeDescriptorList(1).push_back(AttributeDescriptor(0x0010,0x0020,   // Patient ID
-                                                                 AttributeDescriptor::KEY));
+      GetLevelDescriptor(1).Add(AttributeDescriptor(0x0010,0x0040)); // Patient sex
+      GetLevelDescriptor(1).Add(AttributeDescriptor(0x0010,0x0030)); // Patient birthday
+      GetLevelDescriptor(1).Add(AttributeDescriptor(0x0010,0x0020,   // Patient ID
+                                                                 AttributeDescriptor::IDENTIFIER));
  
       // Study-series level
       GetLevelDescriptorList().push_back(LevelDescriptor("Series"));
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0060,    // Modality
-                                                                 AttributeDescriptor::LABEL));
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x1030)); // Study Description
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x103E)); // Description
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0080)); // Institution Name
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0081)); // Institution Adress
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x1010)); // Station Name
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x1048)); // Physician of Record
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x1050)); // Performing Physician's Name
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0018,0x1030)); // Protocol Name
-
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0020,0x0010)); // Study ID
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0020)); // Study Date
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0030)); // Study Time
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0050)); // Study Accession Number
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0005)); // Specific character set
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0021)); // Series Date
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0008,0x0031)); // Series time
-
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0020,0x000D,   // Study Instance UID  
-                                                                 AttributeDescriptor::KEY));
-      GetAttributeDescriptorList(2).push_back(AttributeDescriptor(0x0020,0x000E,   // Series Instance UID  
-                                                                 AttributeDescriptor::KEY |
-                                                                 AttributeDescriptor::LABEL));
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0060,    // Modality
+                                                   AttributeDescriptor::LABEL));
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x1030)); // Study Description
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x103E)); // Description
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0080)); // Institution Name
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0081)); // Institution Adress
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x1010)); // Station Name
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x1048)); // Physician of Record
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x1050)); // Performing Physician's Name
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0018,0x1030)); // Protocol Name
+
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0020,0x0010)); // Study ID
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0020)); // Study Date
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0030)); // Study Time
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0050)); // Study Accession Number
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0005)); // Specific character set
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0021)); // Series Date
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0008,0x0031)); // Series time
+
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0020,0x000D   // Study Instance UID  
+                                                   ));//AttributeDescriptor::IDENTIFIER));
+      GetLevelDescriptor(2).Add(AttributeDescriptor(0x0020,0x000E,   // Series Instance UID  
+                                                   AttributeDescriptor::IDENTIFIER));
+      // |
+      //                                                   AttributeDescriptor::LABEL));
      
 
       // Image level
       GetLevelDescriptorList().push_back(LevelDescriptor("Image"));
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0020,0x0013)); // Image Number
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0020,0x0013)); // Image Number
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0010)); // Rows
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0011)); // Columns
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0012)); // Planes
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0002)); // Sample per pixels
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0008)); // Number of Frames 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0004)); // Photometric Interpretation
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0103)); // Pixel Representation
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0010)); // Rows
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0011)); // Columns
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0012)); // Planes
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0002)); // Sample per pixels
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0008)); // Number of Frames 
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0004)); // Photometric Interpretation
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0103)); // Pixel Representation
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0020,0x0032)); // Image Position Patient
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0020,0x0037)); // Image Orientation Patient
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0020,0x1041)); // Slice Location
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0006)); // Planar Configuration
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0020,0x0032)); // Image Position Patient
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0020,0x0037)); // Image Orientation Patient
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0020,0x1041)); // Slice Location
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0006)); // Planar Configuration
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0030)); // Pixel Spacing
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0100)); // AlocatedBits
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x0101)); // StoredBits
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0030)); // Pixel Spacing
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0100)); // AlocatedBits
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x0101)); // StoredBits
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0008,0x0008)); // Image Type
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0008,0x0023)); // Content Date
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0008,0x0033)); // Content Time
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0008,0x0008)); // Image Type
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0008,0x0023)); // Content Date
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0008,0x0033)); // Content Time
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0020,0x4000)); // Image Comments
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0020,0x4000)); // Image Comments
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0004,0x1500,   // File Name
-                                                                 AttributeDescriptor::LABEL));
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x1052)); // Rescale Intercept
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0028,0x1053)); // Rescale Slope
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0004,0x1500,   // File Name
+                                                   AttributeDescriptor::LABEL));
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x1052)); // Rescale Intercept
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0028,0x1053)); // Rescale Slope
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0050,0x0004)); // Calibration Image
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0050,0x0004)); // Calibration Image
 
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0020,0x0052,   // Frame Reference UID
-                                                                 AttributeDescriptor::KEY));
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor(0x0008,0x0016)); // SOP Class UID
-      GetAttributeDescriptorList(3).push_back(AttributeDescriptor("FullFileName",  // Full file name
-                                                                 "Full file name")); 
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0020,0x0052   // Frame Reference UID
+                                                   ));
+      GetLevelDescriptor(3).Add(AttributeDescriptor(0x0008,0x0016)); // SOP Class UID
+      GetLevelDescriptor(3).Add(AttributeDescriptor("FullFileName",  // Full file name
+                                                   "Full file name",
+                                                   AttributeDescriptor::IDENTIFIER)); 
                                                                  
      
     }
@@ -144,7 +147,7 @@ namespace creaImageIO
               a!= l->GetAttributeDescriptorList().end();
               ++a)
            {
-             map[a->GetName()]="";
+             map[a->GetKey()]="";
            }
        }
     }