STIR 6.4.0
AnalyticReconstruction.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2000 PARAPET partners
5 Copyright (C) 2000- 2007, Hammersmith Imanet Ltd
6 Copyright (C) 2016, 2018, 2019 University College London
7 This file is part of STIR.
8
9 SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
10
11 See STIR/LICENSE.txt for details
12*/
13#ifndef __stir_recon_buildblock_AnalyticReconstruction_H__
14#define __stir_recon_buildblock_AnalyticReconstruction_H__
26
29#include "stir/ProjData.h"
32#include <string>
33
34#include "stir/ExamData.h"
35
36START_NAMESPACE_STIR
37
38class Succeeded;
39
50class AnalyticReconstruction : public Reconstruction<DiscretisedDensity<3, float>>
51{
52public:
53 typedef DiscretisedDensity<3, float> TargetT;
54
55private:
56 typedef Reconstruction<TargetT> base_type;
57
58public:
61
63
69 Succeeded reconstruct() override;
70
72
82 Succeeded reconstruct(shared_ptr<TargetT> const& target_image_sptr) override;
83
84 void set_input_data(const shared_ptr<ExamData>&) override;
85 const ProjData& get_input_data() const override;
87
88 int get_output_image_size_xy() const;
89 void set_output_image_size_xy(int);
90 int get_output_image_size_z() const;
91 void set_output_image_size_z(int);
92 float get_zoom_xy() const;
93 void set_zoom_xy(float);
94 float get_zoom_z() const;
95 void set_zoom_z(float);
96 const CartesianCoordinate3D<float>& get_offset() const;
97 void set_offset(const CartesianCoordinate3D<float>&);
99
100protected:
102 std::string input_filename;
104
106
108 shared_ptr<ProjData> proj_data_ptr;
109 // KT 20/06/2001 disabled
110#if 0
112 int num_views_to_add;
113#endif
114
115protected:
116 ParseAndCreateFrom<TargetT, ProjData> target_parameter_parser;
117
119
122 virtual Succeeded actual_reconstruct(shared_ptr<TargetT> const& target_image_sptr) = 0;
123
125 bool post_processing() override;
126 void set_defaults() override;
127 void initialise_keymap() override;
128};
129
130END_NAMESPACE_STIR
131
132#endif
defines the stir::DiscretisedDensity class
declaration of stir::ExamData
Definition of the stir::ParseAndCreateFrom class.
Declaration of class stir::ProjData.
declares the stir::Reconstruction class
Declaration of class stir::RegisteredParsingObject.
base class for all analytic reconstruction algorithmsThis class provides extra functinoality (compare...
Definition AnalyticReconstruction.h:51
void initialise_keymap() override
Initialise all keywords.
Definition AnalyticReconstruction.cxx:51
std::string input_filename
the input projection data file name
Definition AnalyticReconstruction.h:102
void set_defaults() override
Set defaults before parsing.
Definition AnalyticReconstruction.cxx:41
bool post_processing() override
used to check acceptable parameter ranges, etc...
Definition AnalyticReconstruction.cxx:105
shared_ptr< ProjData > proj_data_ptr
points to the object for the total input projection data
Definition AnalyticReconstruction.h:108
int max_segment_num_to_process
the maximum absolute ring difference number to use in the reconstruction
Definition AnalyticReconstruction.h:105
const ProjData & get_input_data() const override
get input data
Definition AnalyticReconstruction.cxx:189
virtual Succeeded actual_reconstruct(shared_ptr< TargetT > const &target_image_sptr)=0
executes the reconstruction storing result in target_image_sptr
virtual DiscretisedDensity< 3, float > * construct_target_image_ptr() const
construct an image from parameters set (e.g. during parsing)
Definition AnalyticReconstruction.cxx:130
Succeeded reconstruct() override
reconstruct and write to file
Definition AnalyticReconstruction.cxx:136
void set_input_data(const shared_ptr< ExamData > &) override
set input data
Definition AnalyticReconstruction.cxx:182
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
template for adding keywords to a parser and creating an object
Definition ParseAndCreateFrom.h:53
The (abstract) base class for the projection data.
Definition ProjData.h:105
Reconstruction()
Definition Reconstruction.cxx:41
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44