72 void convert_to_itk_char ();
73 void convert_to_itk_uchar ();
74 void convert_to_itk_short ();
75 void convert_to_itk_ushort ();
76 void convert_to_itk_int32 ();
77 void convert_to_itk_uint32 ();
78 void convert_to_itk_float ();
79 void convert_to_itk_double ();
80 void convert_to_gpuit_short ();
81 void convert_to_gpuit_uint16 ();
82 void convert_to_gpuit_uint32 ();
83 void convert_to_gpuit_int32 ();
84 void convert_to_gpuit_float ();
85 void convert_to_gpuit_uchar ();
86 void convert_to_gpuit_uchar_vec ();
99 bool load_native (
const char* fname);
100 bool load_native (
const std::string& fn);
101 bool load_native_dicom (
const char* fname);
102 bool load_native_nki (
const char* fname);
105 void save_image (
const char* fname);
106 void save_image (
const std::string& fname);
107 void convert_and_save (
const char* fname,
Plm_image_type new_type);
108 void convert_and_save (
const std::string& fname,
Plm_image_type new_type);
113 void set_volume (
const Volume::Pointer& v);
115 void set_volume (
Volume *v);
116 void set_itk (UCharImageType::Pointer img);
117 void set_itk (CharImageType::Pointer img);
118 void set_itk (UShortImageType::Pointer img);
119 void set_itk (ShortImageType::Pointer img);
120 void set_itk (UInt32ImageType::Pointer img);
121 void set_itk (Int32ImageType::Pointer img);
122 void set_itk (FloatImageType::Pointer img);
123 void set_itk (DoubleImageType::Pointer img);
124 void set_itk (UCharVecImageType::Pointer img);
128 convert_to_itk_uchar ();
132 convert_to_itk_short ();
136 convert_to_itk_ushort ();
140 convert_to_itk_float ();
144 convert_to_itk_uchar_vec ();
145 return m_itk_uchar_vec;
148 Volume::Pointer& get_volume ();
149 Volume::Pointer& get_volume_uchar ();
150 Volume::Pointer& get_volume_short ();
151 Volume::Pointer& get_volume_float ();
152 Volume::Pointer& get_volume_uchar_vec ();
155 const Volume* get_vol ()
const;
158 void convert_to_original_type (
void);
159 void convert_to_itk (
void);
160 void convert_to_itk_float_field (
void);
161 void convert_to_itk_uchar_vec (
void);
166 float origin (
size_t);
167 float spacing (
size_t);
175 static int compare_headers (
185 void convert_itk_uchar_to_itk_uchar_vec ();
186 void convert_itk_uint32_to_itk_uchar_vec ();
187 void convert_gpuit_uint32_to_itk_uchar_vec ();
188 void convert_gpuit_uchar_vec_to_itk_uchar_vec ();
189 void convert_itk_uchar_vec_to_gpuit_uchar_vec ();
192 template<
class T,
class U> T convert_gpuit_to_itk (
Volume *vol);
193 template<
class T,
class U>
void convert_itk_to_gpuit (T img);
206 const std::string& fname);
Definition plm_image_p.h:10
The Plm_image class represents a three-dimensional volume. The volume is an abstraction that can co...
Definition plm_image.h:27
Plm_image_private * d_ptr
Definition plm_image.h:30
FloatImageType::Pointer & itk_float()
Definition plm_image.h:139
UShortImageType::Pointer m_itk_ushort
Definition plm_image.h:53
Int32ImageType::Pointer m_itk_int32
Definition plm_image.h:56
FloatImageType::Pointer m_itk_float
Definition plm_image.h:59
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
Plm_image_type m_original_type
Definition plm_image.h:47
CharImageType::Pointer m_itk_char
Definition plm_image.h:52
UCharVecImageType::Pointer & itk_uchar_vec()
Definition plm_image.h:143
UCharImageType::Pointer & itk_uchar()
Definition plm_image.h:127
DoubleImageType::Pointer m_itk_double
Definition plm_image.h:60
UInt32ImageType::Pointer m_itk_uint32
Definition plm_image.h:55
UShortImageType::Pointer & itk_ushort()
Definition plm_image.h:135
UInt64ImageType::Pointer m_itk_uint64
Definition plm_image.h:57
UCharVecImageType::Pointer m_itk_uchar_vec
Definition plm_image.h:61
ShortImageType::Pointer m_itk_short
Definition plm_image.h:54
UCharImageType::Pointer m_itk_uchar
Definition plm_image.h:51
Plm_image_type m_type
Definition plm_image.h:48
Int64ImageType::Pointer m_itk_int64
Definition plm_image.h:58
ShortImageType::Pointer & itk_short()
Definition plm_image.h:131
The Volume class represents a three-dimensional volume on a uniform grid. The volume can be located a...
Definition volume.h:38
Plm_image::Pointer plm_image_load(const char *fname, Plm_image_type type)
Definition plm_image.cxx:242
Plm_image::Pointer plm_image_load_native(const char *fname)
Definition plm_image.cxx:260
Plm_image_type
Definition plm_image_type.h:11
#define PLMBASE_API
Definition plmbase_config.h:19
#define SMART_POINTER_SUPPORT(T)
Definition smart_pointer.h:19