Go to the documentation of this file.
21 #ifndef mia_3d_image_hh
22 #define mia_3d_image_hh
73 typedef std::shared_ptr<C3DImage >
Pointer;
86 virtual size_t size()
const = 0;
91 virtual const C3DBounds& get_size()
const = 0;
96 virtual Pointer clone()
const = 0;
128 virtual std::pair<double, double> get_minmax_intensity()
const = 0;
147 template <
typename T>
231 void get_data_line_x(
int y,
int z, std::vector<T>& buffer)
const;
234 void get_data_line_y(
int x,
int z, std::vector<T>& buffer)
const;
237 void get_data_line_z(
int x,
int y, std::vector<T>& buffer)
const;
240 void put_data_line_x(
int y,
int z,
const std::vector<T> &buffer);
243 void put_data_line_y(
int x,
int z,
const std::vector<T> &buffer);
246 void put_data_line_z(
int x,
int y,
const std::vector<T> &buffer);
258 void put_data_plane_xy(
size_t z,
const T2DImage<T>& p);
261 void put_data_plane_yz(
size_t x,
const T2DImage<T>& p);
264 void put_data_plane_xz(
size_t y,
const T2DImage<T>& p);
268 const_reference
operator()(
size_t x,
size_t y,
size_t z)
const {
269 return m_image(x,y,z);
274 return m_image(x,y,z);
279 return m_image(l.
x,l.
y, l.
z);
284 return m_image(l.
x,l.
y, l.
z);
289 return m_image.begin();
293 const_iterator
end()
const {
294 return m_image.end();
299 return m_image.begin_range(begin, end);
304 return m_image.end_range(begin, end);
309 return m_image.begin_range(begin, end);
314 return m_image.end_range(begin, end);
320 return m_image.begin_range_with_boundary_flags(begin, end);
325 return m_image.end_range_with_boundary_flags(begin, end);
332 return m_image.begin_range_with_boundary_flags(begin, end);
337 return m_image.end_range_with_boundary_flags(begin, end);
345 return m_image.begin();
350 return m_image.end();
354 const_iterator
begin_at(
size_t x,
size_t y,
size_t z)
const {
355 return m_image.begin_at(x, y, z);
360 return m_image.begin_at(x, y, z);
389 return m_image.template get_gradient<float>(index);
413 template <
typename O>
421 template <
typename T>
435 return filter(*
this, image);
445 return filter(*
this, *image);
510 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