Go to the documentation of this file.
21 #ifndef mia_3d_image_hh
22 #define mia_3d_image_hh
74 typedef std::shared_ptr<C3DImage >
Pointer;
87 virtual size_t size()
const = 0;
92 virtual const C3DBounds& get_size()
const = 0;
97 virtual Pointer clone()
const = 0;
129 virtual std::pair<double, double> get_minmax_intensity()
const = 0;
148 template <
typename T>
233 void get_data_line_x(
int y,
int z, std::vector<T>& buffer)
const;
236 void get_data_line_y(
int x,
int z, std::vector<T>& buffer)
const;
239 void get_data_line_z(
int x,
int y, std::vector<T>& buffer)
const;
242 void put_data_line_x(
int y,
int z,
const std::vector<T>& buffer);
245 void put_data_line_y(
int x,
int z,
const std::vector<T>& buffer);
248 void put_data_line_z(
int x,
int y,
const std::vector<T>& buffer);
260 void put_data_plane_xy(
size_t z,
const T2DImage<T>& p);
263 void put_data_plane_yz(
size_t x,
const T2DImage<T>& p);
266 void put_data_plane_xz(
size_t y,
const T2DImage<T>& p);
270 const_reference
operator()(
size_t x,
size_t y,
size_t z)
const
272 return m_image(x, y, z);
278 return m_image(x, y, z);
284 return m_image(l.
x, l.
y, l.
z);
290 return m_image(l.
x, l.
y, l.
z);
296 return m_image.begin();
302 return m_image.end();
308 return m_image.begin_range(begin, end);
314 return m_image.end_range(begin, end);
320 return m_image.begin_range(begin, end);
326 return m_image.end_range(begin, end);
333 return m_image.begin_range_with_boundary_flags(begin, end);
339 return m_image.end_range_with_boundary_flags(begin, end);
347 return m_image.begin_range_with_boundary_flags(begin, end);
353 return m_image.end_range_with_boundary_flags(begin, end);
362 return m_image.begin();
368 return m_image.end();
372 const_iterator
begin_at(
size_t x,
size_t y,
size_t z)
const
374 return m_image.begin_at(x, y, z);
380 return m_image.begin_at(x, y, z);
409 return m_image.template get_gradient<float>(index);
433 template <
typename O>
441 template <
typename T>
457 return filter(*
this, image);
468 return filter(*
this, *image);
533 typedef __bind_all<T3DImage> Derived;
EXPORT_3D C3DFVectorfield get_gradient(const C3DImage &image)
virtual Pointer clone() const =0
The generic base type of a 3D image.
T3DImage< uint64_t > C3DULImage
3D image with unsigned 64 bit integer values
range_iterator end_range(const C3DBounds &begin, const C3DBounds &end)
forwarding function to access the specified range of the underlying T3DDatafield
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
range_iterator_with_boundary_flag end_range_with_boundary_flags(const C3DBounds &begin, const C3DBounds &end)
::std::vector< typename __holder_type_dispatch< T >::type > data_array
type for the flat reprentation of the 2D data field
const_reference operator()(size_t x, size_t y, size_t z) const
element access operator - read only
iterator begin()
read/write iterator, issues copy-on-write
const_reference operator()(const C3DBounds &l) const
element access operator - read only
reference operator()(const C3DBounds &l)
element access operator - read/write
A templated class of a 3D data field.
C3DFVector get_gradient(int index) const
read/write access to the underlying data
#define NS_MIA_END
conveniance define to end the mia namespace
base class for all filer type functors.
virtual std::pair< double, double > get_minmax_intensity() const =0
T3DImage< float > C3DFImage
3D image with signed 32 bit floating point values
range_iterator_with_boundary_flag begin_range_with_boundary_flags(const C3DBounds &begin, const C3DBounds &end)
std::shared_ptr< C3DImage > Pointer
Pointer type of the image.
a 3D field of floating point single accuracy 3D vectors
reference operator()(size_t x, size_t y, size_t z)
element access operator - read/write
static F::result_type filter(const F &f, const B &b)
T3DImage< uint32_t > C3DUIImage
3D image with unsigned 32 bit integer values
std::vector< P3DImage > C3DImageSeries
helper type for image series
std::shared_ptr< C3DImageSeries > P3DImageSeries
T3DImage< double > C3DDImage
3D image with signed 64 bit floating point values
FConvert3DImageToPixeltypeO< float > FCopy3DImageToFloatRepn
short name for 3DImage to float pixel repn copy functor
virtual const C3DBounds & get_size() const
reference operator[](int i)
virtual const C3DBounds & get_size() const =0
const_reference operator[](int i) const
CAttributedData & operator=(const CAttributedData &org)
Assignemt operator.
T3DImage< int8_t > C3DSBImage
3D image with signed 8 bit integer values
A collection of attributes.
functor to convert an image with an abitrary pixel type to single floating point pixels
const_range_iterator_with_boundary_flag begin_range_with_boundary_flags(const C3DBounds &begin, const C3DBounds &end) const
static const char * data_descr
data type description for the plug-in path component
C3DBounds dimsize_type
generic type for the dimension of the image
const_iterator end() const
constant iterator
const_range_iterator begin_range(const C3DBounds &begin, const C3DBounds &end) const
forwarding function to access the specified range of the underlying T3DDatafield
const_range_iterator_with_boundary_flag end_range_with_boundary_flags(const C3DBounds &begin, const C3DBounds &end) const
T3DImage< O > operator()(const T3DImage< T > &image) const
T3DImage< uint8_t > C3DUBImage
3D image with unsigned 8 bit integer values
Specific type of the 3D images that hold real pixel data.
C3DImage Super
define the super class of this class for generic processing
iterator begin_at(size_t x, size_t y, size_t z)
read/write iterator starting at the given location
T3DImage< bool > C3DBitImage
3D image with binary values
const_iterator begin_at(size_t x, size_t y, size_t z) const
constant iterator starting at the given location
T3DImage< int32_t > C3DSIImage
3D image with signed 32 bit integer values
T3DImage< int16_t > C3DSSImage
3D image with signed 16 bit integer values
This is the template version of a 2D image that is used for holding real data.
iterator end()
read/write iterator, issues copy-on-write
C3DImage::Pointer P3DImage
define a shortcut to the 3D image shared pointer.
range_iterator begin_range(const C3DBounds &begin, const C3DBounds &end)
forwarding function to access the specified range of the underlying T3DDatafield
const_range_iterator end_range(const C3DBounds &begin, const C3DBounds &end) const
forwarding function to access the specified range of the underlying T3DDatafield
const_iterator begin() const
constant iterator
T3DImage< int64_t > C3DSLImage
3D image with signed 64 bit integer values
T3DImage< uint16_t > C3DUSImage
3D image with unsigned 16 bit integer values
virtual size_t size() const =0