SIRF  3.5.0
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
sirf::ImageData Class Referenceabstract
Inheritance diagram for sirf::ImageData:
sirf::DataContainer sirf::ISMRMRDImageData sirf::NiftiImageData< dataType > sirf::STIRImageData sirf::GadgetronImagesVector sirf::NiftiImageData3D< dataType > sirf::NiftiImageData3DTensor< dataType > sirf::CoilImagesVector sirf::CoilSensitivitiesVector sirf::NiftiImageData3DDeformation< dataType > sirf::NiftiImageData3DDisplacement< dataType >

Classes

class  Iterator
 
class  Iterator_const
 

Public Member Functions

virtual Dimensions dimensions () const =0
 
virtual Iteratorbegin ()=0
 
virtual Iterator_constbegin () const =0
 
virtual Iteratorend ()=0
 
virtual Iterator_constend () const =0
 
virtual void scale (float s)=0
 
virtual bool ordered () const
 
void copy (Iterator_const &src, Iterator &dst, Iterator &end) const
 
void fill (const ImageData &im)
 
void fill (float v)
 
virtual bool operator== (const ImageData &id) const
 Write image to file.
 
virtual bool operator!= (const ImageData &id) const
 
std::shared_ptr< const VoxelisedGeometricalInfo3Dget_geom_info_sptr () const
 Get geometrical info.
 
std::unique_ptr< ImageDataclone () const
 Clone and return as unique pointer.
 
virtual bool is_complex () const
 Is complex? Unless overwridden (Gadgetron), assume not complex.
 
virtual void reorient (const VoxelisedGeometricalInfo3D &)
 Reorient image. Requires that dimesions and spacing match.
 
virtual void set_up_geom_info ()=0
 Populate the geometrical info metadata (from the image's own metadata)
 
- Public Member Functions inherited from sirf::DataContainer
virtual ObjectHandle< DataContainer > * new_data_container_handle () const =0
 
virtual unsigned int items () const =0
 
virtual int bits () const
 returns the size of data elements
 
virtual float norm () const =0
 returns the norm of this container viewed as a vector
 
virtual void dot (const DataContainer &dc, void *ptr) const =0
 calculates the dot product of this container with another one More...
 
virtual void sum (void *ptr) const =0
 calculates the sum of this container elements
 
virtual void max (void *ptr) const =0
 calculates the value of this container's element with the largest real part
 
virtual void multiply (const DataContainer &x, const DataContainer &y)=0
 *this = the elementwise product x*y
 
virtual void multiply (const DataContainer &x, const void *ptr_y)=0
 *this = the product x * y with scalar y
 
virtual void add (const DataContainer &x, const void *ptr_y)=0
 *this = the sum x + y with scalar y
 
virtual void divide (const DataContainer &x, const DataContainer &y)=0
 *this = the elementwise ratio x / y
 
virtual void maximum (const DataContainer &x, const DataContainer &y)=0
 *this = the elementwise max(x, y)
 
virtual void maximum (const DataContainer &x, const void *ptr_y)=0
 
virtual void minimum (const DataContainer &x, const DataContainer &y)=0
 *this = the elementwise min(x, y)
 
virtual void minimum (const DataContainer &x, const void *ptr_y)=0
 
virtual void power (const DataContainer &x, const DataContainer &y)=0
 *this = the elementwise pow(x, y)
 
virtual void power (const DataContainer &x, const void *ptr_y)=0
 
virtual void exp (const DataContainer &x)=0
 *this = the elementwise exp(x)
 
virtual void log (const DataContainer &x)=0
 *this = the elementwise log(x)
 
virtual void sqrt (const DataContainer &x)=0
 *this = the elementwise sqrt(x)
 
virtual void sign (const DataContainer &x)=0
 *this = the elementwise sign(x)
 
virtual void abs (const DataContainer &x)=0
 *this = the elementwise abs(x)
 
virtual void axpby (const void *ptr_a, const DataContainer &x, const void *ptr_b, const DataContainer &y)=0
 *this = the linear combination of x and y
 
virtual void xapyb (const DataContainer &x, const void *ptr_a, const DataContainer &y, const void *ptr_b)=0
 alternative interface to the above
 
virtual void xapyb (const DataContainer &x, const DataContainer &a, const DataContainer &y, const DataContainer &b)=0
 *this = elementwise sum of two elementwise products x*a and y*b
 
virtual void xapyb (const DataContainer &a_x, const void *ptr_a, const DataContainer &a_y, const DataContainer &a_b)=0
 *this = elementwise sum of x*a and elementwise y*b
 
void xapyb (const DataContainer &a_x, const DataContainer &a_a, const DataContainer &a_y, const void *ptr_b)
 *this = elementwise sum of elementwise x*a and y*b
 
virtual void write (const std::string &filename) const =0
 
bool is_empty () const
 
std::unique_ptr< DataContainerclone () const
 
void conjugate ()
 overwrites this container's complex data with complex conjugate values
 
std::unique_ptr< DataContainerconjugate () const
 returns unique pointer to the complex-conjugated copy of this container
 

Static Public Member Functions

static bool can_reorient (const VoxelisedGeometricalInfo3D &geom_1, const VoxelisedGeometricalInfo3D &geom_2, const bool throw_error)
 Can reorient? (check dimensions and spacing)
 
- Static Public Member Functions inherited from sirf::DataContainer
template<typename T >
static T product (T x, T y)
 
template<typename T >
static T ratio (T x, T y)
 
template<typename T >
static T inverse_ratio (T x, T y)
 
template<typename T >
static T sum (T x, T y)
 
template<typename T >
static T maximum (T x, T y)
 
template<typename T >
static T maxabs (T x, T y)
 
template<typename T >
static T maxreal (T x, T y)
 
template<typename T >
static T minimum (T x, T y)
 
template<typename T >
static T minabs (T x, T y)
 
template<typename T >
static T minreal (T x, T y)
 
static std::complex< float > power (std::complex< float > x, std::complex< float > y)
 
static std::complex< float > exp (std::complex< float > x)
 
static std::complex< float > log (std::complex< float > x)
 
static std::complex< float > sqrt (std::complex< float > x)
 
template<typename T >
static T sign (T x)
 
template<typename T >
static T abs (T x)
 

Protected Member Functions

virtual ImageDataclone_impl () const =0
 Clone helper function. Don't use.
 
void set_geom_info (const std::shared_ptr< VoxelisedGeometricalInfo3D > geom_info_sptr)
 Set geom info.
 
- Protected Member Functions inherited from sirf::DataContainer
virtual void conjugate_impl ()
 we assume data to be real, complex data containers must override this
 

The documentation for this class was generated from the following files: