Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _DATA_TREE_NODE_FACTORY_H_
00020 #define _DATA_TREE_NODE_FACTORY_H_
00021
00022 #include "mitkDataNodeSource.h"
00023 #include "mitkFileSeriesReader.h"
00024 #include "mitkColorProperty.h"
00025
00026 #include <vtkConfigure.h>
00027 #include <string>
00028
00029 namespace mitk
00030 {
00044 class MITK_CORE_EXPORT DataNodeFactory : public DataNodeSource, public FileSeriesReader
00045 {
00046 public:
00047
00048 mitkClassMacro( DataNodeFactory, DataNodeSource );
00049
00050 itkNewMacro( Self );
00051
00056 itkSetStringMacro( FileName );
00057
00061 itkGetStringMacro( FileName );
00062
00066 itkSetStringMacro( FilePrefix );
00067
00071 itkGetStringMacro( FilePrefix );
00072
00076 itkSetStringMacro( FilePattern );
00077
00081 itkGetStringMacro( FilePattern );
00082
00083
00087 static ColorProperty::Pointer DefaultColorForOrgan( const std::string& );
00088
00089 void SetDefaultCommonProperties(mitk::DataNode::Pointer &node);
00090
00094 void SetImageSerie(bool serie);
00095
00096 itkGetMacro( UseSeriesDetails, bool );
00097 itkSetMacro( UseSeriesDetails, bool );
00098
00099 void AddSeriesRestriction(const std::string &tag)
00100 {m_SeriesRestrictions.push_back(tag);}
00101
00102 static bool m_TextureInterpolationActive;
00103
00104 protected:
00105
00109 DataNodeFactory();
00110
00114 virtual ~DataNodeFactory();
00115
00116 bool m_Serie;
00117
00122 virtual void GenerateData();
00123
00124
00130 virtual void ResizeOutputs( const unsigned int& num );
00131
00139 virtual bool FileNameEndsWith(const std::string& name);
00140
00148 virtual bool FilePatternEndsWith(const std::string& name);
00149
00153 virtual std::string GetBaseFileName();
00154
00158 virtual std::string GetBaseFilePrefix();
00159
00163 virtual std::string GetDirectory();
00164
00165 #ifdef MBI_INTERNAL
00166 virtual void ReadFileTypeHPSONOS();
00167 #ifdef HAVE_IPDICOM
00168 virtual void ReadFileTypeIPDCM();
00169 #endif
00170 #ifdef USE_TUS_READER
00171 virtual void ReadFileTypeTUS();
00172 #endif
00173 #endif
00174
00175 virtual void ReadFileSeriesTypeDCM();
00176
00177 virtual void ReadFileSeriesTypeITKImageSeriesReader();
00178
00179 bool m_UseSeriesDetails;
00180 std::vector<std::string> m_SeriesRestrictions;
00181 int m_OldProgress;
00182 };
00183
00184 }
00185
00186
00187 #endif //#ifndef __DATA_TREE_NODE_FACTORY_H