SIRF  3.5.0
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sirf::ISMRMRDImageData Class Referenceabstract

Abstract Gadgetron image data container class. More...

#include "gadgetron_data_containers.h"

Inheritance diagram for sirf::ISMRMRDImageData:
sirf::ImageData sirf::DataContainer sirf::GadgetronImagesVector sirf::CoilImagesVector sirf::CoilSensitivitiesVector

Public Member Functions

virtual void empty ()=0
 
virtual unsigned int number () const =0
 
virtual gadgetron::shared_ptr< ImageWrapsptr_image_wrap (unsigned int im_num)=0
 
virtual gadgetron::shared_ptr< const ImageWrapsptr_image_wrap (unsigned int im_num) const =0
 
virtual void append (int image_data_type, void *ptr_image)=0
 
virtual void append (const ImageWrap &iw)=0
 
virtual void append (gadgetron::shared_ptr< ImageWrap > sptr_iw)=0
 
virtual gadgetron::shared_ptr< ISMRMRDImageDataabs () const =0
 
virtual gadgetron::shared_ptr< ISMRMRDImageDatareal () const =0
 
virtual void clear_data ()=0
 
virtual void set_image_type (int imtype)=0
 
virtual void get_data (complex_float_t *data) const
 
virtual void set_data (const complex_float_t *data)
 
virtual void get_real_data (float *data) const
 
virtual void set_real_data (const float *data)
 
virtual int read (std::string filename, std::string variable="", int iv=-1)
 
virtual void write (const std::string &filename, const std::string &groupname, const bool dicom) const
 
virtual void write (const std::string &filename) const
 
virtual Dimensions dimensions () const
 
virtual void get_image_dimensions (unsigned int im_num, int *dim) const
 
bool check_dimension_consistency () const
 
virtual gadgetron::shared_ptr< ISMRMRDImageDatanew_images_container () const =0
 
virtual gadgetron::shared_ptr< ISMRMRDImageDataclone (const char *attr, const char *target)=0
 
virtual int image_data_type (unsigned int im_num) const
 
virtual size_t num_data_elm () const
 
virtual float norm () const
 returns the norm of this container viewed as a vector
 
virtual void sum (void *ptr) const
 below all void* are actually complex_float_t*
 
virtual void max (void *ptr) const
 calculates the value of this container's element with the largest real part
 
virtual void dot (const DataContainer &dc, void *ptr) const
 calculates the dot product of this container with another one More...
 
virtual void axpby (const void *ptr_a, const DataContainer &a_x, const void *ptr_b, const DataContainer &a_y)
 *this = the linear combination of x and y
 
virtual void xapyb (const DataContainer &a_x, const void *ptr_a, const DataContainer &a_y, const void *ptr_b)
 alternative interface to the above
 
virtual void xapyb (const DataContainer &a_x, const void *ptr_a, const DataContainer &a_y, const DataContainer &a_b)
 *this = elementwise sum of x*a and elementwise y*b
 
virtual void xapyb (const DataContainer &a_x, const DataContainer &a_a, const DataContainer &a_y, const DataContainer &a_b)
 *this = elementwise sum of two elementwise products x*a and y*b
 
virtual void multiply (const DataContainer &x, const DataContainer &y)
 *this = the elementwise product x*y
 
virtual void divide (const DataContainer &x, const DataContainer &y)
 *this = the elementwise ratio x / y
 
virtual void maximum (const DataContainer &x, const DataContainer &y)
 *this = the elementwise max(x, y)
 
virtual void minimum (const DataContainer &x, const DataContainer &y)
 *this = the elementwise min(x, y)
 
virtual void power (const DataContainer &x, const DataContainer &y)
 *this = the elementwise pow(x, y)
 
virtual void multiply (const DataContainer &x, const void *ptr_y)
 *this = the product x * y with scalar y
 
virtual void add (const DataContainer &x, const void *ptr_y)
 *this = the sum x + y with scalar y
 
virtual void maximum (const DataContainer &x, const void *ptr_y)
 
virtual void minimum (const DataContainer &x, const void *ptr_y)
 
virtual void power (const DataContainer &x, const void *ptr_y)
 
virtual void exp (const DataContainer &x)
 *this = the elementwise exp(x)
 
virtual void log (const DataContainer &x)
 *this = the elementwise log(x)
 
virtual void sqrt (const DataContainer &x)
 *this = the elementwise sqrt(x)
 
virtual void sign (const DataContainer &x)
 *this = the elementwise sign(x)
 
virtual void abs (const DataContainer &x)
 *this = the elementwise abs(x)
 
void binary_op (const DataContainer &a_x, const DataContainer &a_y, complex_float_t(*f)(complex_float_t, complex_float_t))
 
void semibinary_op (const DataContainer &a_x, complex_float_t y, complex_float_t(*f)(complex_float_t, complex_float_t))
 
void unary_op (const DataContainer &a_x, complex_float_t(*f)(complex_float_t))
 
void fill (float s)
 
void scale (float s)
 
complex_float_t dot (const DataContainer &a_x)
 
void axpby (complex_float_t a, const DataContainer &a_x, complex_float_t b, const DataContainer &a_y)
 
void xapyb (const DataContainer &a_x, complex_float_t a, const DataContainer &a_y, complex_float_t b)
 
gadgetron::unique_ptr< ISMRMRDImageDataclone () const
 
virtual void sort ()=0
 
bool sorted () const
 
void set_sorted (bool sorted)
 
std::vector< int > index ()
 
const std::vector< int > & index () const
 
int index (int i) const
 
ImageWrapimage_wrap (unsigned int im_num)
 
const ImageWrapimage_wrap (unsigned int im_num) const
 
void set_meta_data (const AcquisitionsInfo &acqs_info)
 Set the meta data.
 
const AcquisitionsInfoget_meta_data () const
 Get the meta data.
 
- Public Member Functions inherited from sirf::ImageData
virtual Iteratorbegin ()=0
 
virtual Iterator_constbegin () const =0
 
virtual Iteratorend ()=0
 
virtual Iterator_constend () const =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
 
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
 
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
 

Protected Member Functions

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

Protected Attributes

bool sorted_ =false
 
std::vector< int > index_
 
AcquisitionsInfo acqs_info_
 

Additional Inherited Members

- Static Public Member Functions inherited from sirf::ImageData
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)
 

Detailed Description

Abstract Gadgetron image data container class.

Member Function Documentation

◆ dot()

void GadgetronImageData::dot ( const DataContainer dc,
void *  ptr 
) const
virtual

calculates the dot product of this container with another one

below all void* are actually either float* (STIR containers and NiftiImageData) or complex_float_t* (Gadgetron containers)

Implements sirf::DataContainer.


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