STIR  6.2.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
stir::AnalyticReconstruction Class Referenceabstract

base class for all analytic reconstruction algorithmsThis class provides extra functinoality (compared to Reconstruction) as it assumes that the TargetT is really a VoxelsOnCartesianGrid. More...

#include "stir/recon_buildblock/AnalyticReconstruction.h"

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

Public Types

typedef DiscretisedDensity< 3, float > TargetT
 

Public Member Functions

virtual DiscretisedDensity< 3, float > * construct_target_image_ptr () const
 construct an image from parameters set (e.g. during parsing)
 
Succeeded reconstruct () override
 reconstruct and write to file More...
 
Succeeded reconstruct (shared_ptr< TargetT > const &target_image_sptr) override
 executes the reconstruction storing result in target_image_sptr More...
 
void set_input_data (const shared_ptr< ExamData > &) override
 set input data
 
const ProjDataget_input_data () const override
 get input data More...
 
forwarding functions for ParseDiscretisedDensityParameters
int get_output_image_size_xy () const
 
void set_output_image_size_xy (int)
 
int get_output_image_size_z () const
 
void set_output_image_size_z (int)
 
float get_zoom_xy () const
 
void set_zoom_xy (float)
 
float get_zoom_z () const
 
void set_zoom_z (float)
 
const CartesianCoordinate3D< float > & get_offset () const
 
void set_offset (const CartesianCoordinate3D< float > &)
 
- Public Member Functions inherited from stir::Reconstruction< DiscretisedDensity< 3, float > >
 Reconstruction ()
 default constructor (calls set_defaults())
 
 ~Reconstruction () override
 virtual destructor
 
virtual std::string method_info () const=0
 gives method information
 
virtual Succeeded set_up (shared_ptr< DiscretisedDensity< 3, float > > const &target_data_sptr)
 operations prior to the reconstruction More...
 
void set_disable_output (bool _val)
 set_disable_output More...
 
shared_ptr< DiscretisedDensity< 3, float > > get_target_image ()
 get_reconstructed_image More...
 
void set_output_filename_prefix (const std::string &)
 file name for output reconstructed images
 
void set_output_file_format_ptr (const shared_ptr< OutputFileFormat< DiscretisedDensity< 3, float > >> &)
 defines the format of the output files
 
void set_post_processor_sptr (const shared_ptr< DataProcessor< DiscretisedDensity< 3, float > >> &)
 post-filter
 
- Public Member Functions inherited from stir::RegisteredObjectBase
virtual std::string get_registered_name () const =0
 Returns the name of the type of the object. More...
 
- Public Member Functions inherited from stir::ParsingObject
 ParsingObject (const ParsingObject &)
 
ParsingObjectoperator= (const ParsingObject &)
 
void ask_parameters ()
 
virtual std::string parameter_info ()
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 
- 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)
 

Protected Member Functions

virtual Succeeded actual_reconstruct (shared_ptr< TargetT > const &target_image_sptr)=0
 executes the reconstruction storing result in target_image_sptr More...
 
bool post_processing () override
 used to check acceptable parameter ranges, etc...
 
void set_defaults () override
 Set defaults before parsing.
 
void initialise_keymap () override
 Initialise all keywords.
 
- Protected Member Functions inherited from stir::Reconstruction< DiscretisedDensity< 3, float > >
virtual void check (DiscretisedDensity< 3, float > const &target_data) const
 do consistency checks More...
 
void initialise (const std::string &parameter_filename)
 This function initialises all parameters, either via parsing, or by calling ask_parameters() (when parameter_filename is the empty string). More...
 
void set_defaults () override
 Set defaults before parsing.
 
void initialise_keymap () override
 Initialise all keywords.
 
bool post_processing () override
 used to check acceptable parameters after parsing 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...
 

Protected Attributes

std::string input_filename
 the input projection data file name
 
int max_segment_num_to_process
 the maximum absolute ring difference number to use in the reconstruction More...
 
shared_ptr< ProjDataproj_data_ptr
 points to the object for the total input projection data
 
ParseAndCreateFrom< TargetT, ProjDatatarget_parameter_parser
 
- Protected Attributes inherited from stir::Reconstruction< DiscretisedDensity< 3, float > >
std::string output_filename_prefix
 file name for output reconstructed images
 
shared_ptr< OutputFileFormat< DiscretisedDensity< 3, float > > > output_file_format_ptr
 defines the format of the output files
 
shared_ptr< DataProcessor< DiscretisedDensity< 3, float > > > post_filter_sptr
 post-filter
 
bool _already_set_up
 
shared_ptr< DiscretisedDensity< 3, float > > target_data_sptr
 target_data_sptr
 
bool _disable_output
 _disable_output More...
 
int _verbosity
 Verbosity level.
 
- Protected Attributes inherited from stir::ParsingObject
KeyParser parser
 

Additional Inherited Members

- Static Public Member Functions inherited from stir::RegisteredObject< Reconstruction< DiscretisedDensity< 3, float > > >
static Reconstruction< DiscretisedDensity< 3, float > > * read_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 Reconstruction< DiscretisedDensity< 3, float > > * ask_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< Reconstruction< DiscretisedDensity< 3, float > > >
typedef Reconstruction< DiscretisedDensity< 3, float > > *(* 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.
 
- Static Protected Member Functions inherited from stir::RegisteredObject< Reconstruction< DiscretisedDensity< 3, float > > >
static RegistryTyperegistry ()
 Static function returning the registry. More...
 

Detailed Description

base class for all analytic reconstruction algorithms

This class provides extra functinoality (compared to Reconstruction) as it assumes that the TargetT is really a VoxelsOnCartesianGrid.

Todo:
Currently the template argument uses DiscretisedDensity because of conversion problems with stir::shared_ptr. Maybe it will be possible to correct this once we use boost:shared_ptr.

Member Function Documentation

◆ reconstruct() [1/2]

Succeeded stir::AnalyticReconstruction::reconstruct ( )
overridevirtual

reconstruct and write to file

Calls construct_target_image_ptr() and then actual_reconstruct(target_image_sptr). At the end of the reconstruction, the final image is saved to file as given in Reconstruction::output_filename_prefix.

Returns
Succeeded::yes if everything was alright.

Implements stir::Reconstruction< DiscretisedDensity< 3, float > >.

Referenced by stir::ScatterEstimation::process_data().

◆ reconstruct() [2/2]

Succeeded stir::AnalyticReconstruction::reconstruct ( shared_ptr< TargetT > const &  target_image_sptr)
overridevirtual

executes the reconstruction storing result in target_image_sptr

Calls actual_reconstruct()

Returns
Succeeded::yes if everything was alright.
Developer\'s note

Because of C++ rules, overloading one of the reconstruct() functions in a derived class, hides the other. So, we need an implementation for this function. This is the reason to use the actual_reconstruct function.

Implements stir::Reconstruction< DiscretisedDensity< 3, float > >.

References stir::error().

◆ get_input_data()

const ProjData & stir::AnalyticReconstruction::get_input_data ( ) const
overridevirtual

get input data

Will throw an exception if it wasn't set first

Implements stir::Reconstruction< DiscretisedDensity< 3, float > >.

◆ actual_reconstruct()

virtual Succeeded stir::AnalyticReconstruction::actual_reconstruct ( shared_ptr< TargetT > const &  target_image_sptr)
protectedpure virtual

executes the reconstruction storing result in target_image_sptr

Returns
Succeeded::yes if everything was alright.

Member Data Documentation

◆ max_segment_num_to_process

int stir::AnalyticReconstruction::max_segment_num_to_process
protected

the maximum absolute ring difference number to use in the reconstruction

convention: if -1, use get_max_segment_num()


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