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);
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);
66 std::string find_unused_structure_name (void);
71 void apply_slice_list (const Slice_list *slice_list);
72 void free_all_polylines (void);
73 void keyholize (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
void set_structure_override(int structure_id, const float rsp_value)
Definition rtss.cxx:188
Rtss_roi ** slist
Definition rtss.h:42
std::string find_unused_structure_name(void)
Definition rtss.cxx:92
void debug(void)
Definition rtss.cxx:205
plm_long m_dim[3]
Definition rtss.h:31
void set_rasterization_geometry(void)
Definition rtss.cxx:457
float m_offset[3]
Definition rtss.h:33
void keyholize(void)
Definition rtss.cxx:565
size_t num_structures
Definition rtss.h:41
void adjust_structure_names(void)
Definition rtss.cxx:248
float m_spacing[3]
Definition rtss.h:32
void set_structure_name(size_t index, const std::string &name)
Definition rtss.cxx:180
Direction_cosines m_dc
Definition rtss.h:34
void init(void)
Definition rtss.cxx:73
void fix_polyline_slice_numbers(void)
Definition rtss.cxx:517
int have_geometry
Definition rtss.h:30
Rtss_roi * find_structure_by_id(int structure_id)
Definition rtss.cxx:167
Rtss()
Definition rtss.cxx:62
std::string get_structure_name(size_t index)
Definition rtss.cxx:195
static Rtss * clone_empty(Rtss *cxt_out, Rtss *cxt_in)
Definition rtss.cxx:284
void set_geometry(const Plm_image_header *pih)
Definition rtss.cxx:542
void prune_empty(void)
Definition rtss.cxx:265
void find_rasterization_geometry(float offset[3], float spacing[3], plm_long dims[3], Direction_cosines &dc)
Definition rtss.cxx:324
void apply_slice_list(const Rt_study_metadata::Pointer &rsm)
Copy slice UIDs from referenced image into the Rtss object.
Definition rtss.cxx:476
void clear(void)
Definition rtss.cxx:81
Rtss_roi * add_structure(const std::string &structure_name, const std::string &color, int structure_id, int bit=-1)
Definition rtss.cxx:115
float rast_offset[3]
Definition rtss.h:38
plm_long rast_dim[3]
Definition rtss.h:36
void delete_structure(int index)
Definition rtss.cxx:154
Direction_cosines rast_dc
Definition rtss.h:39
float rast_spacing[3]
Definition rtss.h:37
void free_all_polylines(void)
Definition rtss.cxx:309
Definition slice_list.h:12
#define PLMBASE_API
Definition plmbase_config.h:19
#define SMART_POINTER_SUPPORT(T)
Definition smart_pointer.h:19