13 # pragma warning (disable : 4996)
16 #ifndef mitkDataCollection_H_
17 #define mitkDataCollection_H_
59 itkFactorylessNewMacro(
Self);
64 void UpdateOutputInformation()
override;
65 void SetRequestedRegionToLargestPossibleRegion()
override;
66 bool RequestedRegionIsOutsideOfTheBufferedRegion()
override;
67 bool VerifyRequestedRegion()
override;
68 void SetRequestedRegion(
const itk::DataObject *)
override;
70 void Init(std::string name);
79 size_t AddData(DataObject::Pointer data, std::string name, std::string filePath =
"");
85 void SetName(std::string name);
87 std::string GetName()
const;
89 std::string GetDataFilePath(
size_t index)
const;
97 size_t NameToIndex(std::string name);
104 std::string IndexToName(
size_t index)
const;
111 bool HasElement(std::string name);
119 bool HasElement(
size_t index);
133 void SetData(itk::DataObject::Pointer data,
size_t index);
141 void SetData(itk::DataObject::Pointer data, std::string name);
151 itk::DataObject::Pointer GetData(
size_t index);
161 itk::DataObject::Pointer GetData(std::string name);
186 template <
class ImageType>
187 ImageType GetItkImage(
size_t index, ImageType* itkImage);
192 template <
class ImageType>
193 ImageType GetItkImage(std::string name, ImageType* itkImage);
195 itk::DataObject::Pointer& operator[](
size_t index);
197 itk::DataObject::Pointer& operator[](std::string &name);
204 void SetNameForIndex(
size_t index, std::string &name);
209 void SetXMLFile(std::string absoluteXMlFile);
214 std::string GetXMLFile();
233 bool RemoveIndex(
size_t index);
240 bool RemoveElement(std::string& name);
245 void Clear()
override;
276 std::vector<itk::DataObject::Pointer> m_DataVector;
277 std::vector<std::string> m_NameVector;
278 std::vector<std::string> m_FilePathVector;
279 std::map<std::string, size_t> m_DataNames;
283 std::string m_XMLFile;