|
SIRF
3.5.0
|
Abstract Gadgetron image data container class. More...
#include "gadgetron_data_containers.h"
Public Member Functions | |
| virtual void | empty ()=0 |
| virtual unsigned int | number () const =0 |
| virtual gadgetron::shared_ptr< ImageWrap > | sptr_image_wrap (unsigned int im_num)=0 |
| virtual gadgetron::shared_ptr< const ImageWrap > | sptr_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< ISMRMRDImageData > | abs () const =0 |
| virtual gadgetron::shared_ptr< ISMRMRDImageData > | real () 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< ISMRMRDImageData > | new_images_container () const =0 |
| virtual gadgetron::shared_ptr< ISMRMRDImageData > | clone (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< ISMRMRDImageData > | clone () 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 |
| ImageWrap & | image_wrap (unsigned int im_num) |
| const ImageWrap & | image_wrap (unsigned int im_num) const |
| void | set_meta_data (const AcquisitionsInfo &acqs_info) |
| Set the meta data. | |
| const AcquisitionsInfo & | get_meta_data () const |
| Get the meta data. | |
Public Member Functions inherited from sirf::ImageData | |
| virtual Iterator & | begin ()=0 |
| virtual Iterator_const & | begin () const =0 |
| virtual Iterator & | end ()=0 |
| virtual Iterator_const & | end () 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 VoxelisedGeometricalInfo3D > | get_geom_info_sptr () const |
| Get geometrical info. | |
| std::unique_ptr< ImageData > | clone () 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< DataContainer > | clone () const |
| void | conjugate () |
| overwrites this container's complex data with complex conjugate values | |
| std::unique_ptr< DataContainer > | conjugate () const |
| returns unique pointer to the complex-conjugated copy of this container | |
Protected Member Functions | |
| virtual ISMRMRDImageData * | clone_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) |
Abstract Gadgetron image data container class.
|
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.