plastimatch
Loading...
Searching...
No Matches
rt_study_metadata.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _rt_study_metadata_h_
5#define _rt_study_metadata_h_
6
7#include "plmbase_config.h"
8#include <list>
9
10#include "itk_image_type.h"
11#include "plm_image.h"
12#include "plm_int.h"
13#include "smart_pointer.h"
14
15class Rt_study_metadata_private;
16class Metadata;
18class Slice_list;
19class Volume;
20
28public:
30public:
31 Rt_study_metadata_private *d_ptr;
32public:
35public:
36 static Rt_study_metadata::Pointer load (const std::string& dicom_path);
37 static Rt_study_metadata::Pointer load (const char* dicom_path);
38public:
39 const char* get_ct_series_uid () const;
40 void set_ct_series_uid (const char* uid);
41 void force_ct_series_uid (const std::string& uid);
42 const char* get_ct_series_description () const;
43 const std::string& get_dose_instance_uid () const;
44 const char* get_dose_series_uid () const;
45
46 const std::string& get_frame_of_reference_uid () const;
47 void set_frame_of_reference_uid (const char* uid);
48 void set_frame_of_reference_uid (const std::string& uid);
49
50 const char* get_plan_instance_uid () const;
51 const std::string& get_rtstruct_instance_uid () const;
52 void set_rtstruct_instance_uid (const char* rtstruct_instance_uid);
53 const char* get_rtstruct_series_uid () const;
54
55 const char* get_position_reference_indicator () const;
56 void set_position_reference_indicator (const char* position_reference_indicator);
57 void set_position_reference_indicator (const std::string& position_reference_indicator);
58
59 const char* get_referring_physician_name () const;
60 void set_referring_physician_name (const char* referring_physician_name);
61 void set_referring_physician_name (const std::string& referring_physician_name);
62
63 const char* get_accession_number () const;
64 void set_accession_number (const char* accession_number);
65 void set_accession_number (const std::string& accession_number);
66
67 const char* get_study_date () const;
68 void set_study_date (const char* date);
69 void set_study_date (const std::string& date);
70
71 const char* get_study_description () const;
72 void set_study_description (const char* description);
73 void set_study_description (const std::string& description);
74
75 const char* get_study_time () const;
76 void set_study_time (const char* time);
77 void set_study_time (const std::string& time);
78
79 const std::string& get_study_uid () const;
80 void set_study_uid (const char* uid);
81 void set_study_uid (const std::string& uid);
82
83 const char* get_study_id () const;
84 void set_study_id (const char* id);
85 void set_study_id (const std::string& id);
86
87 const std::string& get_patient_name ();
88 void set_patient_name (const char* name);
89 void set_patient_name (const std::string& name);
90
91 const std::string& get_patient_id ();
92 void set_patient_id (const std::string& id);
93
94 const std::string& get_patient_birth_date ();
95 void set_patient_birth_date (const char* birth_date);
96 void set_patient_birth_date (const std::string& birth_date);
97
98 const std::string& get_patient_sex ();
99 void set_patient_sex (const char* sex);
100 void set_patient_sex (const std::string& sex);
101
102 const Plm_image_header* get_image_header () const;
103 void set_image_header (const Plm_image::Pointer& pli);
104 void set_image_header (const Plm_image_header& pih);
105 void set_image_header (ShortImageType::Pointer img);
106
107 const Slice_list *get_slice_list () const;
108 void reset_slice_uids ();
109 const char* get_slice_uid (int index) const;
110 void set_slice_uid (int index, const char* slice_uid);
111 bool slice_list_complete () const;
113 int num_slices () const;
114
115 Metadata::Pointer& get_study_metadata ();
116 const Metadata::Pointer& get_study_metadata () const;
117 const std::string& get_study_metadata (unsigned short key1,
118 unsigned short key2) const;
119 void set_study_metadata (unsigned short key1, unsigned short key2,
120 const std::string& val);
121
122 Metadata::Pointer& get_image_metadata ();
123 const Metadata::Pointer& get_image_metadata () const;
124 const std::string& get_image_metadata (unsigned short key1,
125 unsigned short key2) const;
126 void set_image_metadata (unsigned short key1, unsigned short key2,
127 const std::string& val);
128
129 Metadata::Pointer& get_rtstruct_metadata ();
130 const Metadata::Pointer& get_rtstruct_metadata () const;
131 void set_rtstruct_metadata (unsigned short key1, unsigned short key2,
132 const std::string& val);
133 Metadata::Pointer& get_dose_metadata ();
134 const Metadata::Pointer& get_dose_metadata () const;
135 void set_dose_metadata (unsigned short key1, unsigned short key2,
136 const std::string& val);
137 Metadata::Pointer& get_rtplan_metadata ();
138 const Metadata::Pointer& get_rtplan_metadata () const;
139 void set_rtplan_metadata (unsigned short key1, unsigned short key2,
140 const std::string& val);
141 Metadata::Pointer& get_sro_metadata ();
142 const Metadata::Pointer& get_sro_metadata () const;
143 void set_sro_metadata (unsigned short key1, unsigned short key2,
144 const std::string& val);
145#if PLM_DCM_USE_DCMTK
146 const std::string& get_study_metadata (const DcmTagKey& key) const;
147 void set_study_metadata (const DcmTagKey& key, const std::string& val);
148 const std::string& get_image_metadata (const DcmTagKey& key) const;
149 void set_image_metadata (const DcmTagKey& key, const std::string& val);
150 const std::string& get_sro_metadata (const DcmTagKey& key) const;
151 void set_sro_metadata (const DcmTagKey& key, const std::string& val);
152#endif
158 void print () const;
159};
160
161#endif
The Metadata class encapsulate DICOM metadata for a single series. It is implemented as a map from st...
Definition metadata.h:24
The Plm_image_header class defines the geometry of an image. It defines image origin,...
Definition plm_image_header.h:24
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
void set_slice_uid(int index, const char *slice_uid)
Definition rt_study_metadata.cxx:444
Rt_study_metadata_private * d_ptr
Definition rt_study_metadata.h:31
void set_rtstruct_instance_uid(const char *rtstruct_instance_uid)
Definition rt_study_metadata.cxx:162
void force_ct_series_uid(const std::string &uid)
Definition rt_study_metadata.cxx:105
void set_study_description(const char *description)
Definition rt_study_metadata.cxx:238
const char * get_position_reference_indicator() const
Definition rt_study_metadata.cxx:194
void set_dose_metadata(unsigned short key1, unsigned short key2, const std::string &val)
Definition rt_study_metadata.cxx:562
std::shared_ptr< Self > Pointer
Definition rt_study_metadata.h:29
const char * get_study_time() const
Definition rt_study_metadata.cxx:270
const char * get_ct_series_description() const
Definition rt_study_metadata.cxx:113
void set_ct_series_uid(const char *uid)
Definition rt_study_metadata.cxx:98
Metadata::Pointer & get_sro_metadata()
Definition rt_study_metadata.cxx:592
Rt_study_metadata()
Definition rt_study_metadata.cxx:65
Metadata::Pointer & get_image_metadata()
Definition rt_study_metadata.cxx:499
const std::string & get_patient_id()
Definition rt_study_metadata.cxx:353
void set_patient_birth_date(const char *birth_date)
Definition rt_study_metadata.cxx:372
const char * get_ct_series_uid() const
Definition rt_study_metadata.cxx:92
void set_study_time(const char *time)
Definition rt_study_metadata.cxx:276
void set_accession_number(const char *accession_number)
Definition rt_study_metadata.cxx:219
const char * get_plan_instance_uid() const
Definition rt_study_metadata.cxx:150
void set_study_date(const char *date)
Definition rt_study_metadata.cxx:257
const char * get_study_id() const
Definition rt_study_metadata.cxx:310
void set_image_metadata(unsigned short key1, unsigned short key2, const std::string &val)
Definition rt_study_metadata.cxx:520
const std::string & get_rtstruct_instance_uid() const
Definition rt_study_metadata.cxx:156
void set_slice_list_complete()
Definition rt_study_metadata.cxx:451
void set_referring_physician_name(const char *referring_physician_name)
Definition rt_study_metadata.cxx:181
void set_image_header(const Plm_image::Pointer &pli)
Definition rt_study_metadata.cxx:408
Metadata::Pointer & get_rtplan_metadata()
Definition rt_study_metadata.cxx:571
const Slice_list * get_slice_list() const
Definition rt_study_metadata.cxx:426
void generate_new_dose_instance_uid()
Definition rt_study_metadata.cxx:651
const char * get_accession_number() const
Definition rt_study_metadata.cxx:213
void generate_new_series_uids()
Definition rt_study_metadata.cxx:669
int num_slices() const
Definition rt_study_metadata.cxx:463
const char * get_study_date() const
Definition rt_study_metadata.cxx:251
Metadata::Pointer & get_rtstruct_metadata()
Definition rt_study_metadata.cxx:529
void set_study_metadata(unsigned short key1, unsigned short key2, const std::string &val)
Definition rt_study_metadata.cxx:490
void set_study_uid(const char *uid)
Definition rt_study_metadata.cxx:297
const char * get_rtstruct_series_uid() const
Definition rt_study_metadata.cxx:169
const char * get_study_description() const
Definition rt_study_metadata.cxx:232
const std::string & get_study_uid() const
Definition rt_study_metadata.cxx:291
void set_study_id(const char *id)
Definition rt_study_metadata.cxx:316
const std::string & get_patient_birth_date()
Definition rt_study_metadata.cxx:366
void set_patient_name(const char *name)
Definition rt_study_metadata.cxx:335
const char * get_dose_series_uid() const
Definition rt_study_metadata.cxx:125
void set_rtstruct_metadata(unsigned short key1, unsigned short key2, const std::string &val)
Definition rt_study_metadata.cxx:541
void generate_new_study_uids()
Definition rt_study_metadata.cxx:679
void set_rtplan_metadata(unsigned short key1, unsigned short key2, const std::string &val)
Definition rt_study_metadata.cxx:583
const char * get_slice_uid(int index) const
Definition rt_study_metadata.cxx:438
const std::string & get_patient_sex()
Definition rt_study_metadata.cxx:384
void set_sro_metadata(unsigned short key1, unsigned short key2, const std::string &val)
Definition rt_study_metadata.cxx:604
void set_position_reference_indicator(const char *position_reference_indicator)
Definition rt_study_metadata.cxx:200
void generate_new_rtstruct_instance_uid()
Definition rt_study_metadata.cxx:663
void set_patient_id(const std::string &id)
Definition rt_study_metadata.cxx:359
const std::string & get_frame_of_reference_uid() const
Definition rt_study_metadata.cxx:131
void generate_new_plan_instance_uid()
Definition rt_study_metadata.cxx:657
void reset_slice_uids()
Definition rt_study_metadata.cxx:432
void set_frame_of_reference_uid(const char *uid)
Definition rt_study_metadata.cxx:137
void set_patient_sex(const char *sex)
Definition rt_study_metadata.cxx:390
const std::string & get_dose_instance_uid() const
Definition rt_study_metadata.cxx:119
static Rt_study_metadata::Pointer load(const std::string &dicom_path)
Definition rt_study_metadata.cxx:86
const std::string & get_patient_name()
Definition rt_study_metadata.cxx:329
const char * get_referring_physician_name() const
Definition rt_study_metadata.cxx:175
void print() const
Definition rt_study_metadata.cxx:686
bool slice_list_complete() const
Definition rt_study_metadata.cxx:457
Metadata::Pointer & get_dose_metadata()
Definition rt_study_metadata.cxx:550
Metadata::Pointer & get_study_metadata()
Definition rt_study_metadata.cxx:469
Definition slice_list.h:12
The Volume class represents a three-dimensional volume on a uniform grid. The volume can be located a...
Definition volume.h:38
void get_image_header(plm_long dim[3], float offset[3], float spacing[3], T image)
Definition itk_image.cxx:58
#define PLMBASE_API
Definition plmbase_config.h:19
#define SMART_POINTER_SUPPORT(T)
Definition smart_pointer.h:19