SIRF  3.5.0
Classes | Public Types | Public Member Functions | List of all members
sirf::GadgetronImagesVector Class Reference

A vector implementation of the abstract Gadgetron image data container class. More...

#include "gadgetron_data_containers.h"

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

Classes

class  Iterator
 
class  Iterator_const
 

Public Types

typedef ImageData::Iterator BaseIter
 
typedef ImageData::Iterator_const BaseIter_const
 
typedef std::vector< gadgetron::shared_ptr< ImageWrap > >::iterator ImageWrapIter
 
typedef std::vector< gadgetron::shared_ptr< ImageWrap > >::const_iterator ImageWrapIter_const
 

Public Member Functions

 GadgetronImagesVector (const MRAcquisitionData &ad, const bool coil_resolved=false)
 Constructor for images from MR Acquisition data. More...
 
 GadgetronImagesVector (const GadgetronImagesVector &images)
 
 GadgetronImagesVector (GadgetronImagesVector &images, const char *attr, const char *target)
 
virtual void empty ()
 
virtual unsigned int items () const
 
virtual unsigned int number () const
 
virtual void append (int image_data_type, void *ptr_image)
 
virtual void append (CFImage &img)
 
virtual void append (const ImageWrap &iw)
 
virtual void append (gadgetron::shared_ptr< ImageWrap > sptr_iw)
 
virtual gadgetron::shared_ptr< GadgetronImageDataabs () const
 
virtual gadgetron::shared_ptr< GadgetronImageDatareal () const
 
virtual void clear_data ()
 
virtual void sort ()
 
virtual gadgetron::shared_ptr< ImageWrapsptr_image_wrap (unsigned int im_num)
 
virtual gadgetron::shared_ptr< const ImageWrapsptr_image_wrap (unsigned int im_num) const
 
virtual ObjectHandle< DataContainer > * new_data_container_handle () const
 
virtual gadgetron::shared_ptr< GadgetronImageDatanew_images_container () const
 
virtual gadgetron::shared_ptr< GadgetronImageDataclone (const char *attr, const char *target)
 
virtual Iteratorbegin ()
 
virtual Iteratorend ()
 
virtual Iterator_constbegin () const
 
virtual Iterator_constend () const
 
virtual void set_image_type (int image_type)
 
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)
 
std::unique_ptr< GadgetronImagesVectorclone () const
 Clone and return as unique pointer.
 
void print_header (const unsigned im_num)
 Print header info.
 
virtual bool is_complex () const
 Is complex?
 
virtual void reorient (const VoxelisedGeometricalInfo3D &geom_info_out)
 Reorient image. Requires that dimensions match.
 
virtual void set_up_geom_info ()
 Populate the geometrical info metadata (from the image's own metadata)
 
- Public Member Functions inherited from sirf::ISMRMRDImageData
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 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
 
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 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.
 
- Public Member Functions inherited from sirf::DataContainer
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
 

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)
 
- Protected Member Functions inherited from sirf::ISMRMRDImageData
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 inherited from sirf::ISMRMRDImageData
bool sorted_ =false
 
std::vector< int > index_
 
AcquisitionsInfo acqs_info_
 

Detailed Description

A vector implementation of the abstract Gadgetron image data container class.

Images are stored in an std::vector<shared_ptr<ImageWrap> > object.

Constructor & Destructor Documentation

◆ GadgetronImagesVector()

GadgetronImagesVector::GadgetronImagesVector ( const MRAcquisitionData ad,
const bool  coil_resolved = false 
)

Constructor for images from MR Acquisition data.

The images are generated with the dimensions given in the recon-space of the MRAcquisitionData's ISMRMRD header information. The geometry information and header of the individual images are populated based on all consistent subsets of acquisitions in the MRAcquisition object. The images can also be created coil-resolved.


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