plastimatch
Loading...
Searching...
No Matches
rtss.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _rtss_h_
5#define _rtss_h_
6
7#include "plmbase_config.h"
8#include <list>
9#include <vector>
10
11#include "direction_cosines.h"
12#include "plm_int.h"
13#include "rt_study_metadata.h"
14#include "smart_pointer.h"
15
16class Plm_image;
18class Rtss_roi;
19class Slice_list;
20
26public:
28public:
29 /* Output geometry */
31 plm_long m_dim[3];
32 float m_spacing[3];
33 float m_offset[3];
35 /* Rasterization geometry */
36 plm_long rast_dim[3];
37 float rast_spacing[3];
38 float rast_offset[3];
40 /* Structures */
43public:
44 Rtss ();
45 ~Rtss ();
46 void init (void);
47 void clear (void);
48 Rtss_roi* add_structure (
49 const std::string& structure_name,
50 const std::string& color,
51 int structure_id,
52 int bit = -1);
53 void delete_structure (int index);
54 Rtss_roi* find_structure_by_id (int structure_id);
55 std::string get_structure_name (size_t index);
56 void set_structure_name (size_t index, const std::string& name);
57 void set_structure_override (int structure_id, const float rsp_value);
58 void debug (void);
59 void adjust_structure_names (void);
60 void prune_empty (void);
61 static Rtss* clone_empty (Rtss* cxt_out,
62 Rtss* cxt_in);
63 void find_rasterization_geometry (float offset[3],
64 float spacing[3], plm_long dims[3], Direction_cosines& dc);
65 void find_rasterization_geometry (Plm_image_header *pih);
66 std::string find_unused_structure_name (void);
67 void fix_polyline_slice_numbers (void);
69 void apply_slice_list (const Rt_study_metadata::Pointer& rsm);
71 void apply_slice_list (const Slice_list *slice_list);
72 void free_all_polylines (void);
73 void keyholize (void);
74 void set_rasterization_geometry (void);
75 void set_geometry (const Plm_image_header *pih);
76 void set_geometry (const Plm_image::Pointer& pli);
77};
78
79#endif
Definition direction_cosines.h:23
The Plm_image_header class defines the geometry of an image. It defines image origin,...
Definition plm_image_header.h:24
The Plm_image class represents a three-dimensional volume. The volume is an abstraction that can co...
Definition plm_image.h:27
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
std::shared_ptr< Self > Pointer
Definition rt_study_metadata.h:29
Definition rtss_roi.h:12
The Rtss class represents a set of segmentations in polyline format, analogous to the DICOM-RT RTSTRU...
Definition rtss.h:25
Rtss_roi ** slist
Definition rtss.h:42
size_t num_structures
Definition rtss.h:41
Direction_cosines m_dc
Definition rtss.h:34
int have_geometry
Definition rtss.h:30
Direction_cosines rast_dc
Definition rtss.h:39
Definition slice_list.h:12
#define PLMBASE_API
Definition plmbase_config.h:19
#define SMART_POINTER_SUPPORT(T)
Definition smart_pointer.h:19