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

A BinNormalisation class that gets the normalisation factors from an ECAT7 3D normalisation file. More...

#include "stir/recon_buildblock/BinNormalisationFromECAT7.h"

Inheritance diagram for stir::ecat::ecat7::BinNormalisationFromECAT7:
Inheritance graph
[legend]

Public Member Functions

 BinNormalisationFromECAT7 ()
 Default constructor. More...
 
 BinNormalisationFromECAT7 (const std::string &filename)
 Constructor that reads the projdata from a file.
 
virtual Succeeded set_up (const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > &) override
 initialises the object and checks if it can handle such projection data More...
 
float get_uncalibrated_bin_efficiency (const Bin &bin) const override
 
bool use_detector_efficiencies () const
 
bool use_dead_time () const
 
bool use_geometric_factors () const
 
bool use_crystal_interference_factors () const
 
- Public Member Functions inherited from stir::RegisteredParsingObject< BinNormalisationFromECAT7, BinNormalisation, BinNormalisationWithCalibration >
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::BinNormalisationWithCalibration
Succeeded set_up (const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > &) override
 initialises the object and checks if it can handle such projection data More...
 
float get_calib_decay_branching_ratio_factor (const Bin &) const
 product of calibration factor etc
 
float get_calibration_factor () const override
 
float get_branching_ratio () const
 
void set_calibration_factor (const float)
 
void set_radionuclide (const Radionuclide &)
 
float get_bin_efficiency (const Bin &bin) const final
 return efficiency for 1 bin More...
 
- Public Member Functions inherited from stir::BinNormalisation
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 void apply (RelatedViewgrams< float > &) const
 normalise some data More...
 
virtual void undo (RelatedViewgrams< float > &) const
 undo the normalisation of some 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 = "From ECAT7"
 Name which will be used when parsing a BinNormalisation object.
 

Additional Inherited Members

- Static Public Member Functions inherited from stir::RegisteredParsingObject< BinNormalisationFromECAT7, BinNormalisation, BinNormalisationWithCalibration >
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::BinNormalisationWithCalibration
void set_defaults () override
 
void initialise_keymap () override
 Initialise all keywords.
 
bool post_processing () override
 This will be called at the end of the parsing. More...
 
- 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

A BinNormalisation class that gets the normalisation factors from an ECAT7 3D normalisation file.

Parsing example
Bin Normalisation type := from ecat7
Bin Normalisation From ECAT7:=
normalisation filename:= myfile.n
; next keyword gives the singles to be used for dead-time correction
; normally set to get the info from the ECAT7 sinogram
;
singles rates:= Singles From ECAT7
  Singles Rates From ECAT7 :=
     ecat7_filename := ${ecat7_filename}
   End Singles Rates From ECAT7:=

; next keywords can be used to switch off some of the normalisation components
; do not use unless you know why
; use_detector_efficiencies:=1
; use_dead_time:=1
; use_geometric_factors:=1
; use_crystal_interference_factors:=1
End Bin Normalisation From ECAT7:=
Warning
dead-time code might currently give wrong results due to uncertainty in units for singles rates

Constructor & Destructor Documentation

◆ BinNormalisationFromECAT7()

stir::ecat::ecat7::BinNormalisationFromECAT7::BinNormalisationFromECAT7 ( )

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

◆ set_up()

Succeeded stir::ecat::ecat7::BinNormalisationFromECAT7::set_up ( const shared_ptr< const ExamInfo > &  exam_info_sptr,
const shared_ptr< const ProjDataInfo > &  proj_data_info_sptr_v 
)
overridevirtual

initialises the object and checks if it can handle such projection data

Default version sets _already_set_up and stores the shared pointers.

Reimplemented from stir::BinNormalisation.

References stir::Array< num_dimensions, elemT >::begin_all(), stir::Array< num_dimensions, elemT >::end_all(), stir::error(), stir::ecat::find_scanner_from_ECAT_system_type(), stir::VectorWithOffset< T >::get_max_index(), stir::VectorWithOffset< T >::get_min_index(), and stir::warning().


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