STIR  6.2.0
Public Member Functions | Static Public Attributes | List of all members
stir::PostsmoothingBackProjectorByBin Class Reference

A very preliminary class that first smooths the image, then back projects. More...

#include "stir/recon_buildblock/PostsmoothingBackProjectorByBin.h"

Inheritance diagram for stir::PostsmoothingBackProjectorByBin:
Inheritance graph
[legend]

Public Member Functions

 PostsmoothingBackProjectorByBin ()
 Default constructor (calls set_defaults())
 
void set_up (const shared_ptr< const ProjDataInfo > &proj_data_info_ptr, const shared_ptr< const DiscretisedDensity< 3, float >> &density_info_ptr) override
 Stores all necessary geometric info. More...
 
 PostsmoothingBackProjectorByBin (const shared_ptr< BackProjectorByBin > &original_back_projector_ptr, const shared_ptr< DataProcessor< DiscretisedDensity< 3, float >>> &)
 
const DataSymmetriesForViewSegmentNumbersget_symmetries_used () const override
 Informs on which symmetries the projector handles It should get data related by at least those symmetries. Otherwise, a run-time error will occur (unless the derived class has other behaviour).
 
BackProjectorByBinget_original_back_projector_ptr () const
 
PostsmoothingBackProjectorByBinclone () const override
 
- Public Member Functions inherited from stir::RegisteredParsingObject< PostsmoothingBackProjectorByBin, BackProjectorByBin >
std::string get_registered_name () const override
 Returns Derived::registered_name.
 
std::string parameter_info () override
 Returns a string with all parameters and their values, in a form suitable for parsing again.
 
- Public Member Functions inherited from stir::BackProjectorByBin
 BackProjectorByBin ()
 Default constructor calls reset_timers()
 
void back_project (DiscretisedDensity< 3, float > &, const ProjData &, int subset_num=0, int num_subsets=1)
 project whole proj_data into the volume More...
 
virtual void back_project (const ProjData &, int subset_num=0, int num_subsets=1)
 projects the viewgrams into the volume it adds to the data backprojected since start_accumulating_in_new_target() was last called.
 
void back_project (const RelatedViewgrams< float > &)
 projects the viewgrams into the volume it adds to the data backprojected since start_accumulating_in_new_target() was last called.
 
void back_project (const RelatedViewgrams< float > &, const int min_axial_pos_num, const int max_axial_pos_num)
 projects the specified range of the viewgrams and axial positions into the volume it adds to the data backprojected since start_accumulating_in_new_target() was last called.
 
void back_project (const RelatedViewgrams< float > &, const int min_axial_pos_num, const int max_axial_pos_num, const int min_tangential_pos_num, const int max_tangential_pos_num)
 projects the specified range of the viewgrams, axial positions and tangential positions into the volume it adds to the data backprojected since start_accumulating_in_new_target() was last called.
 
virtual void start_accumulating_in_new_target ()
 tell the back projector to start accumulating into a new target. This function has to be called before any back-projection is initiated.
 
virtual void get_output (DiscretisedDensity< 3, float > &) const
 Get output This will overwrite the array-content of the argument with the result of all backprojections since calling start_accumulating_in_new_target(). Note that the argument has to have the same characteristics as what was used when calling set_up().
 
void set_post_data_processor (shared_ptr< DataProcessor< DiscretisedDensity< 3, float >>> post_data_processor_sptr)
 Set data processor to use after back projection.
 
- Public Member Functions inherited from stir::TimedObject
void reset_timers ()
 reset all timers kept by this object
 
void stop_timers () const
 stop all timers kept by this object More...
 
void start_timers (bool do_reset=false) const
 start all timers kept by this object More...
 
double get_CPU_timer_value () const
 get current value of the CPU timer (since first use or last reset)
 
double get_wall_clock_timer_value () const
 get current value of the wall-clock timer (since first use or last reset)
 
- Public Member Functions inherited from stir::ParsingObject
 ParsingObject (const ParsingObject &)
 
ParsingObjectoperator= (const ParsingObject &)
 
void ask_parameters ()
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 

Static Public Attributes

static const char *const registered_name = "Post Smoothing"
 Name which will be used when parsing a PostsmoothingBackProjectorByBin object.
 

Additional Inherited Members

- Static Public Member Functions inherited from stir::RegisteredParsingObject< PostsmoothingBackProjectorByBin, BackProjectorByBin >
static BackProjectorByBinread_from_stream (std::istream *)
 Construct a new object (of type Derived) by parsing the istream. More...
 
- Static Public Member Functions inherited from stir::RegisteredObject< BackProjectorByBin >
static BackProjectorByBinread_registered_object (std::istream *in, const std::string &registered_name)
 Construct a new object (of a type derived from Root, its actual type determined by the registered_name parameter) by parsing the istream. More...
 
static BackProjectorByBinask_type_and_parameters ()
 ask the user for the type, and then calls read_registered_object(0, type) More...
 
static void list_registered_names (std::ostream &stream)
 List all possible registered names to the stream. More...
 
- Protected Types inherited from stir::RegisteredObject< BackProjectorByBin >
typedef BackProjectorByBin *(* RootFactory) (std::istream *)
 The type of a root factory is a function, taking an istream* as argument, and returning a Root*.
 
typedef FactoryRegistry< std::string, RootFactory, interfile_lessRegistryType
 The type of the registry.
 
- Protected Member Functions inherited from stir::BackProjectorByBin
virtual void actual_back_project (DiscretisedDensity< 3, float > &, const RelatedViewgrams< float > &, const int min_axial_pos_num, const int max_axial_pos_num, const int min_tangential_pos_num, const int max_tangential_pos_num)
 This actually does the back projection. There are two versions of this code to enable backwards compatibility. More...
 
virtual void check (const ProjDataInfo &proj_data_info) const
 check if the argument is the same as what was used for set_up() More...
 
virtual void check (const ProjDataInfo &proj_data_info, const DiscretisedDensity< 3, float > &density_info) const
 check if the arguments are the same as what was used for set_up() More...
 
- Protected Member Functions inherited from stir::ParsingObject
virtual void set_key_values ()
 This will be called before parsing or parameter_info is called. More...
 
- Static Protected Member Functions inherited from stir::RegisteredObject< BackProjectorByBin >
static RegistryTyperegistry ()
 Static function returning the registry. More...
 
- Protected Attributes inherited from stir::BackProjectorByBin
bool _already_set_up
 
shared_ptr< DiscretisedDensity< 3, float > > _density_sptr
 Clone of the density sptr set with set_up()
 
shared_ptr< DataProcessor< DiscretisedDensity< 3, float > > > _post_data_processor_sptr
 
shared_ptr< const ProjDataInfo_proj_data_info_sptr
 ProjDataInfo set by set_up()
 
- Protected Attributes inherited from stir::ParsingObject
KeyParser parser
 

Detailed Description

A very preliminary class that first smooths the image, then back projects.

Warning
. It assumes that the DataProcessor does not change the size of the image.

Member Function Documentation

◆ set_up()

void stir::PostsmoothingBackProjectorByBin::set_up ( const shared_ptr< const ProjDataInfo > &  proj_data_info_ptr,
const shared_ptr< const DiscretisedDensity< 3, float >> &  density_info_ptr 
)
overridevirtual

Stores all necessary geometric info.

Note that the density_info_ptr is not stored in this object. It's only used to get some info on sizes etc.

Implements stir::BackProjectorByBin.


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