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

The BinNormalisationSinogramRescaling class gets normaliastion factors by dividing forward projection of the fitted cyl. to the precorrecred data. More...

#include "stir_experimental/recon_buildblock/BinNormalisationSinogramRescaling.h"

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

Public Member Functions

 BinNormalisationSinogramRescaling ()
 Default constructor. More...
 
 BinNormalisationSinogramRescaling (const std::string &filename)
 Constructor that reads the scale factors from a file.
 
virtual Succeeded set_up (const shared_ptr< const ProjDataInfo > &)
 
float get_bin_efficiency (const Bin &bin) const override
 Return the 'efficiency' factor for a single bin. More...
 
void apply (RelatedViewgrams< float > &viewgrams) const override
 Normalise some data. More...
 
void undo (RelatedViewgrams< float > &viewgrams) const override
 Undo the normalisation of some data. More...
 
- Public Member Functions inherited from stir::RegisteredParsingObject< BinNormalisationSinogramRescaling, BinNormalisation >
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::BinNormalisation
virtual float get_calibration_factor () const
 
virtual bool is_trivial () const
 check if we would be multiplying with 1 (i.e. do nothing) More...
 
virtual bool is_TOF_only_norm () const
 returns if the object can only handle TOF data More...
 
virtual Succeeded set_up (const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > &)
 initialises the object and checks if it can handle such projection data More...
 
void apply (ProjData &, shared_ptr< DataSymmetriesForViewSegmentNumbers >=shared_ptr< DataSymmetriesForViewSegmentNumbers >()) const
 normalise some data More...
 
void undo (ProjData &, shared_ptr< DataSymmetriesForViewSegmentNumbers >=shared_ptr< DataSymmetriesForViewSegmentNumbers >()) const
 undo the normalisation of some data More...
 
void set_exam_info_sptr (const shared_ptr< const ExamInfo > _exam_info_sptr)
 
shared_ptr< const ExamInfoget_exam_info_sptr () const
 
- 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 = "Sinogram Rescaling"
 Name which will be used when parsing a BinNormalisation object.
 

Additional Inherited Members

- Static Public Member Functions inherited from stir::RegisteredParsingObject< BinNormalisationSinogramRescaling, BinNormalisation >
static BinNormalisationread_from_stream (std::istream *)
 Construct a new object (of type Derived) by parsing the istream. More...
 
- Static Public Member Functions inherited from stir::RegisteredObject< BinNormalisation >
static BinNormalisationread_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 BinNormalisationask_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< BinNormalisation >
typedef BinNormalisation *(* 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::BinNormalisation
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 ExamInfo &exam_info) const
 
- 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< BinNormalisation >
static RegistryTyperegistry ()
 Static function returning the registry. More...
 
- Protected Attributes inherited from stir::BinNormalisation
bool _already_set_up
 
shared_ptr< const ProjDataInfoproj_data_info_sptr
 
- Protected Attributes inherited from stir::ParsingObject
KeyParser parser
 

Detailed Description

The BinNormalisationSinogramRescaling class gets normaliastion factors by dividing forward projection of the fitted cyl. to the precorrecred data.

Constructor & Destructor Documentation

◆ BinNormalisationSinogramRescaling()

stir::BinNormalisationSinogramRescaling::BinNormalisationSinogramRescaling ( )

Default constructor.

Warning
You should not call any member functions for any object just constructed with this constructor. Initialise the object properly first by parsing.

Member Function Documentation

◆ get_bin_efficiency()

float stir::BinNormalisationSinogramRescaling::get_bin_efficiency ( const Bin bin) const
overridevirtual

Return the 'efficiency' factor for a single bin.

With the notation of the class documentation, this returns the factor $\mathrm{norm}_b $.

Warning
Some derived classes might implement this very inefficiently.

Implements stir::BinNormalisation.

References stir::Bin::axial_pos_num(), stir::SegmentIndices::segment_num(), and stir::ViewgramIndices::view_num().

Referenced by apply(), and undo().

◆ apply()

void stir::BinNormalisationSinogramRescaling::apply ( RelatedViewgrams< float > &  viewgrams) const
overridevirtual

Normalise some data.

This means multiply with the data in the scale factors file.

Reimplemented from stir::BinNormalisation.

References stir::RelatedViewgrams< elemT >::begin(), stir::RelatedViewgrams< elemT >::end(), and get_bin_efficiency().

◆ undo()

void stir::BinNormalisationSinogramRescaling::undo ( RelatedViewgrams< float > &  viewgrams) const
overridevirtual

Undo the normalisation of some data.

This means divide with the data in th scale factors file.

Reimplemented from stir::BinNormalisation.

References stir::RelatedViewgrams< elemT >::begin(), stir::RelatedViewgrams< elemT >::end(), and get_bin_efficiency().


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