2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
10 # This software is governed by the CeCILL-B license under French law and
11 # abiding by the rules of distribution of free software. You can use,
12 # modify and/ or redistribute the software under the terms of the CeCILL-B
13 # license as circulated by CEA, CNRS and INRIA at the following URL
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15 # or in the file LICENSE.txt.
17 # As a counterpart to the access to the source code and rights to copy,
18 # modify and redistribute granted by the license, users are provided only
19 # with a limited warranty and the software's author, the holder of the
20 # economic rights, and the successive licensors have only limited
23 # The fact that you are presently reading this means that you have had
24 # knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
28 #ifndef __creaImageIOTreeLevelDescriptor_h_INCLUDED__
29 #define __creaImageIOTreeLevelDescriptor_h_INCLUDED__
31 #include <creaImageIOTreeAttributeDescriptor.h>
42 //=====================================================================
43 /// Descriptor of a level of a Tree (name, attributes, ...)
48 LevelDescriptor(const std::string& name) : mName(name) {}
52 /// Returns the name of the level
53 const std::string& GetName() const { return mName; }
55 /// Returns the number of attributes of the level
56 unsigned int GetNumberOfAttributes() const
57 { return (int)mAttributeDescriptorList.size(); }
59 /// Adds the AttributeDescriptor to the list
60 void Add(const AttributeDescriptor&);
62 /// The type of attribute container
63 typedef std::vector<AttributeDescriptor> AttributeDescriptorListType;
65 /// Returns the list of AttributeDescriptor (const)
66 /// type = 0 all attributes
67 /// type = 1 without ID and PATIENT_ID
68 const AttributeDescriptorListType& GetAttributeDescriptorList(int type = 0) const
70 return mAttributeDescriptorList;
72 return mAttributeDescriptorListWID;
75 /// Copy the original list of attributes
76 void CopyAttributeDescriptorList();
78 /// \return The list of attributes with flag IDENTIFIER set
79 const std::vector<std::string>& GetIdentifierList() const
80 { return mIdentifierList; }
81 /// \return The list of attributes with flag LABEL set
82 const std::vector<std::string>& GetLabelList() const
83 { return mLabelList; }
87 // Attributes List for this level
88 AttributeDescriptorListType mAttributeDescriptorList;
89 // Attributes List for this level without ID and PARENT_ID attributes
90 AttributeDescriptorListType mAttributeDescriptorListWID;
91 /// The list of attributes with flag IDENTIFIER set
92 std::vector<std::string> mIdentifierList;
93 /// The list of attributes with flag LABEL set
94 std::vector<std::string> mLabelList;
97 // EO class LevelDescriptor
98 //=====================================================================
102 } // EO namespace creaImageIO