STIR 6.4.0
ProjDataRebinning.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2003- 2007, Hammersmith Imanet Ltd
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details.
10*/
11#ifndef __stir_recon_buildblock_ProjDataRebinning_H__
12#define __stir_recon_buildblock_ProjDataRebinning_H__
22/* Modification history
23 */
24
26#include "stir/TimedObject.h"
27#include "stir/ParsingObject.h"
28#include "stir/ProjData.h"
29#include "stir/shared_ptr.h"
30#include "stir/error.h"
31#include <string>
32
33START_NAMESPACE_STIR
34
35class Succeeded;
36
70
71class ProjDataRebinning : public TimedObject, public RegisteredObject<ProjDataRebinning>
72{
73public:
75 ~ProjDataRebinning() override;
76
78 virtual std::string method_info() const = 0;
79
81
86 virtual Succeeded rebin() = 0;
87
93 void set_max_segment_num_to_process(int ns);
94 int get_max_segment_num_to_process() const;
96
99 void set_output_filename_prefix(const std::string& s);
100 std::string get_output_filename_prefix() const;
102
104
105 void set_input_proj_data_sptr(const shared_ptr<ProjData>&);
106 // KTTODO I'm not enthousiastic about the next function
107 // why would you need this?
108 shared_ptr<ProjData> get_proj_data_sptr();
109
110 // TODO needed at all?
111 // KTTODO: yes, and change parameters
113 virtual Succeeded set_up();
114
115 // parameters
116protected:
120 std::string input_filename;
122
124
125protected:
126#if 0
137 void initialise(const std::string& parameter_filename);
138#endif
139
141 bool post_processing() override;
142 void set_defaults() override;
143 void initialise_keymap() override;
144
145protected: // members
146 shared_ptr<ProjData> proj_data_sptr;
147};
148
149END_NAMESPACE_STIR
150
151#endif
Declaration of class stir::ParsingObject.
Declaration of class stir::ProjData.
Declaration of class stiir::RegisteredObject.
declares the stir::TimedObject class
base class for all rebinning algorithms for 3D PET data
Definition ProjDataRebinning.h:72
std::string output_filename_prefix
file name for output projdata (should be without extension)
Definition ProjDataRebinning.h:118
virtual Succeeded set_up()
operations prior to the rebinning
Definition ProjDataRebinning.cxx:100
void set_input_proj_data_sptr(const shared_ptr< ProjData > &)
set projection data that will be rebinned
Definition ProjDataRebinning.cxx:155
void initialise_keymap() override
Initialise all keywords.
Definition ProjDataRebinning.cxx:37
int max_segment_num_to_process
the maximum absolute segment number to use in the reconstruction
Definition ProjDataRebinning.h:123
virtual Succeeded rebin()=0
executes the rebinning
void set_output_filename_prefix(const std::string &s)
Definition ProjDataRebinning.cxx:135
virtual std::string method_info() const =0
gives method information
std::string input_filename
file name for input projdata
Definition ProjDataRebinning.h:120
bool post_processing() override
used to check acceptable parameter ranges, etc...
Definition ProjDataRebinning.cxx:47
void set_defaults() override
Set defaults before parsing.
Definition ProjDataRebinning.cxx:29
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
base class for all objects which need timers. At the moment, there's only a CPU timer.
Definition TimedObject.h:36
Declaration of stir::error()
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...