13 #ifndef mitkDataCollection_h
14 #define mitkDataCollection_h
17 # pragma warning (disable : 4996)
60 itkFactorylessNewMacro(
Self);
65 void UpdateOutputInformation()
override;
66 void SetRequestedRegionToLargestPossibleRegion()
override;
67 bool RequestedRegionIsOutsideOfTheBufferedRegion()
override;
68 bool VerifyRequestedRegion()
override;
69 void SetRequestedRegion(
const itk::DataObject *)
override;
71 void Init(std::string name);
80 size_t AddData(DataObject::Pointer data, std::string name, std::string filePath =
"");
86 void SetName(std::string name);
88 std::string GetName()
const;
90 std::string GetDataFilePath(
size_t index)
const;
98 size_t NameToIndex(std::string name);
105 std::string IndexToName(
size_t index)
const;
112 bool HasElement(std::string name);
120 bool HasElement(
size_t index);
134 void SetData(itk::DataObject::Pointer data,
size_t index);
142 void SetData(itk::DataObject::Pointer data, std::string name);
152 itk::DataObject::Pointer GetData(
size_t index);
162 itk::DataObject::Pointer GetData(std::string name);
187 template <
class ImageType>
188 ImageType GetItkImage(
size_t index, ImageType* itkImage);
193 template <
class ImageType>
194 ImageType GetItkImage(std::string name, ImageType* itkImage);
196 itk::DataObject::Pointer& operator[](
size_t index);
198 itk::DataObject::Pointer& operator[](std::string &name);
205 void SetNameForIndex(
size_t index, std::string &name);
210 void SetXMLFile(std::string absoluteXMlFile);
215 std::string GetXMLFile();
234 bool RemoveIndex(
size_t index);
241 bool RemoveElement(std::string& name);
246 void Clear()
override;
277 std::vector<itk::DataObject::Pointer> m_DataVector;
278 std::vector<std::string> m_NameVector;
279 std::vector<std::string> m_FilePathVector;
280 std::map<std::string, size_t> m_DataNames;
284 std::string m_XMLFile;