STIR
6.2.0
|
Reconstruction class for 2D Filtered Back Projection. More...
#include "stir/analytic/FBP2D/FBP2DReconstruction.h"
Public Member Functions | |
FBP2DReconstruction () | |
Default constructor (calls set_defaults()) | |
FBP2DReconstruction (const std::string ¶meter_filename) | |
Constructor, initialises everything from parameter file, or (when parameter_filename == "") by calling ask_parameters(). | |
FBP2DReconstruction (const shared_ptr< ProjData > &, const double alpha_ramp=1., const double fc_ramp=.5, const int pad_in_s=2, const int num_segments_to_combine=-1) | |
std::string | method_info () const override |
gives method information | |
virtual void | ask_parameters () |
Succeeded | set_up (shared_ptr< TargetT > const &target_data_sptr) override |
operations prior to the reconstruction More... | |
Public Member Functions inherited from stir::RegisteredParsingObject< FBP2DReconstruction, Reconstruction< DiscretisedDensity< 3, float > >, AnalyticReconstruction > | |
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::AnalyticReconstruction | |
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 ProjData & | get_input_data () const override |
get input data More... | |
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 | |
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::ParsingObject | |
ParsingObject (const ParsingObject &) | |
ParsingObject & | operator= (const ParsingObject &) |
void | ask_parameters () |
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) | |
Static Public Attributes | |
static const char *const | registered_name = "FBP2D" |
Name which will be used when parsing a ProjectorByBinPair object. | |
Protected Attributes | |
double | alpha_ramp |
Ramp filter: Alpha value. | |
double | fc_ramp |
Ramp filter: Cut off frequency. | |
int | pad_in_s |
amount of padding for the filter (has to be 0,1 or 2) | |
int | num_segments_to_combine |
number of segments to combine (with SSRB) before starting 2D reconstruction More... | |
int | display_level |
potentially display data More... | |
Protected Attributes inherited from stir::AnalyticReconstruction | |
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< ProjData > | proj_data_ptr |
points to the object for the total input projection data | |
ParseAndCreateFrom< TargetT, ProjData > | target_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 | |
Public Types inherited from stir::AnalyticReconstruction | |
typedef DiscretisedDensity< 3, float > | TargetT |
Static Public Member Functions inherited from stir::RegisteredParsingObject< FBP2DReconstruction, Reconstruction< DiscretisedDensity< 3, float > >, AnalyticReconstruction > | |
static Reconstruction< DiscretisedDensity< 3, float > > * | read_from_stream (std::istream *) |
Construct a new object (of type Derived) by parsing the istream. More... | |
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 ®istered_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_less > | RegistryType |
The type of the registry. | |
Protected Member Functions inherited from stir::AnalyticReconstruction | |
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 ¶meter_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... | |
Static Protected Member Functions inherited from stir::RegisteredObject< Reconstruction< DiscretisedDensity< 3, float > > > | |
static RegistryType & | registry () |
Static function returning the registry. More... | |
Reconstruction class for 2D Filtered Back Projection.
fbp2dparameters := input file := input.hs output filename prefix := output ; output image parameters ; zoom defaults to 1 zoom := 1 ; image size defaults to whole FOV xy output image size (in pixels) := 180 ; can be used to call SSRB first ; default means: call SSRB only if no axial compression is already present ;num segments to combine with ssrb := -1 ; filter parameters, default to pure ramp alpha parameter for ramp filter := 1 cut-off for ramp filter (in cycles) := 0.5 ; allow less padding. DO NOT USE ; (unless you're sure that the object occupies only half the FOV) ;Transaxial extension for FFT:=1 ; back projector that could be used (defaults to interpolating backprojector) ; Back projector type:= some type ; display data during processing for debugging purposes ; Display level := 0 end :=
alpha specifies the usual Hamming window (although I'm not so sure about the terminology here). So, for the "ramp filter" alpha =1. In frequency space, something like (from RampFilter.cxx)
|
overridevirtual |
operations prior to the reconstruction
Will do various consistency checks and return Succeeded::no if something is wrong.
Reimplemented from stir::Reconstruction< DiscretisedDensity< 3, float > >.
References stir::error(), and stir::warning().
Referenced by stir::TestFBP2D::run_tests().
|
protected |
number of segments to combine (with SSRB) before starting 2D reconstruction
if -1, a value is chosen depending on the axial compression. If there is no axial compression, num_segments_to_combine is effectively set to 3, otherwise it is set to 1.
|
protected |
potentially display data
allowed values: display_level=0
(no display), 1 (only final image), 2 (filtered-viewgrams). Defaults to 0.