4#ifndef _plm_image_header_h_
5#define _plm_image_header_h_
15class Plm_image_header_private;
26 Plm_image_header_private *
d_ptr;
38 float direction_cosines[9]);
58 int dim (
int d)
const;
59 float origin (
int d)
const;
60 float spacing (
int d)
const;
61 void set_dim (
const plm_long dim[3]);
62 void set_origin (
const float origin[3]);
66 void set_spacing (
const float spacing[3]);
67 void set_direction_cosines (
68 const float direction_cosines[9]);
69 void set_direction_cosines (
73 const plm_long dim[3],
74 const float origin[3],
75 const float spacing[3],
78 const plm_long dim[3],
79 const float origin[3],
80 const float spacing[3],
81 const float direction_cosines[9]);
83 const plm_long dim[3],
84 const float origin[3],
85 const float spacing[3],
86 const float direction_cosines[9]);
88 void set_from_plm_image (
const Plm_image *pli);
89 void set_from_plm_image (
const Plm_image& pli);
93 void set (
const Volume::Pointer& vol);
94 void set (
const Volume& vol);
95 void set (
const Volume* vol);
98 template<
class T>
void set_from_itk_image (
const T& image);
99 template<
class T>
void set_from_itk_image (
const T* image);
104 const SizeType& GetSize (
void)
const;
106 void get_origin (
float origin[3])
const;
107 void get_spacing (
float spacing[3])
const;
108 void get_dim (plm_long dim[3])
const;
109 void get_direction_cosines (
float direction_cosines[9])
const;
122 void set_geometry_to_contain (
126 void print (
void)
const;
132 float threshold = 1e-5);
134 float threshold = 1e-5);
138 void get_image_center (
float center[3])
const;
141 plm_long get_num_voxels ()
const;
145 void get_image_extent (
float extent[3])
const;
153 float direction_cosines[9],
Definition direction_cosines.h:23
The Plm_image class represents a three-dimensional volume. The volume is an abstraction that can co...
Definition plm_image.h:27
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
The Volume class represents a three-dimensional volume on a uniform grid. The volume can be located a...
Definition volume.h:38
itk::Size< 3 > SizeType
Definition itk_image.h:20
itk::Vector< double, 3 > SpacingType
Definition itk_image.h:21
itk::Point< double, 3 > OriginType
Definition itk_image.h:18
itk::ImageRegion< 3 > RegionType
Definition itk_image.h:19
itk::Point< float, 3 > FloatPoint3DType
Definition itk_point.h:16
#define PLMBASE_API
Definition plmbase_config.h:19
int compare(const void *a, const void *b)
Definition simplify_points.cxx:19