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
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef __cmtkVolumeFromFile_h_included_
00034 #define __cmtkVolumeFromFile_h_included_
00035
00036 #include <cmtkconfig.h>
00037
00038 #include <Base/cmtkUniformVolume.h>
00039 #include <System/cmtkException.h>
00040
00041 namespace
00042 cmtk
00043 {
00044
00047
00050 class VolumeFromFile
00051 {
00052 public:
00054 static const UniformVolume::SmartPtr Read( const char *filename );
00055
00056 #ifdef CMTK_HAVE_DCMTK
00057
00058 static const UniformVolume::SmartPtr ReadDICOM( const char *filename );
00059 #else
00060 static const UniformVolume::SmartPtr ReadDICOM( const char* )
00061 {
00062 throw Exception( "Library was configured without DICOM support." );
00063 }
00064 #endif
00065
00067 static const UniformVolume::SmartPtr ReadVanderbilt( const char *filename );
00068
00070 static const UniformVolume::SmartPtr ReadBioRad( const char* path );
00071
00073 static const UniformVolume::SmartPtr ReadAnalyzeHdr( const char* pathHdr, const bool bigEndian = false, const bool readData = true );
00074
00076 static const UniformVolume::SmartPtr ReadNifti( const char* pathHdr, const bool detached, const bool readData = true );
00077
00079 static void WriteAnalyzeHdr( const char* pathHdr, const UniformVolume& volume, const bool verbose = false );
00080
00082 static void WriteNifti( const char* pathImg, const UniformVolume& volume, const bool verbose = false );
00083
00085 static void WriteMetaImage( const char* pathHdr, const UniformVolume& volume );
00086
00087 #ifdef CMTK_BUILD_NRRD
00088
00089 static const UniformVolume::SmartPtr ReadNRRD( const char* path );
00090
00092 static void WriteNRRD( const char* pathHdr, const UniformVolume& volume, const bool verbose = false );
00093 #else
00094
00095 static const UniformVolume::SmartPtr ReadNRRD( const char* )
00096 {
00097 throw Exception( "Library was configured without Nrrd support." );
00098 }
00099
00101 static void WriteNRRD( const char*, const UniformVolume&, const bool = false )
00102 {
00103 throw Exception( "Library was configured without Nrrd support." );
00104 }
00105 #endif
00106 };
00107
00109
00110 }
00111
00112 #endif // #ifndef __cmtkVolumeFromFile_h_included_