12 #ifndef MITKTOTALSEGMENTATORTOOL_H
13 #define MITKTOTALSEGMENTATORTOOL_H
40 itkFactorylessNewMacro(
Self);
43 const char *GetName()
const override;
44 const char **GetXPM()
const override;
46 void Activated()
override;
48 itkSetMacro(MitkTempDir, std::string);
49 itkGetConstMacro(MitkTempDir, std::string);
51 itkSetMacro(SubTask, std::string);
52 itkGetConstMacro(SubTask, std::string);
54 itkSetMacro(PythonPath, std::string);
55 itkGetConstMacro(PythonPath, std::string);
57 itkSetMacro(GpuId,
int);
58 itkGetConstMacro(GpuId,
int);
60 itkSetMacro(Fast,
bool);
61 itkGetConstMacro(Fast,
bool);
62 itkBooleanMacro(Fast);
88 void UpdatePrepare()
override;
96 void run_totalsegmentator(
ProcessExecutor*,
const std::string&,
const std::string&,
bool,
bool,
int,
const std::string&);
109 void ParseLabelMapTotalDefault();
116 std::string GetLabelMapPath();
132 void PythonProcessEvent(itk::Object*,
const itk::EventObject &e);
134 std::string m_MitkTempDir;
135 std::string m_PythonPath;
136 std::string m_SubTask =
"total";
138 std::map<mitk::Label::PixelType, std::string> m_LabelMapTotal;
139 std::map<mitk::Label::PixelType, std::string> m_LabelMapTotalMR;
141 const std::string TEMPLATE_FILENAME =
"XXXXXX_000_0000.nii.gz";
142 const std::string DEFAULT_TOTAL_TASK =
"total";
143 const std::string DEFAULT_TOTAL_TASK_MRI =
"total_mr";
144 const std::unordered_map<std::string, std::vector<std::string>> SUBTASKS_MAP =
146 {
"body", {
"body.nii.gz",
"body_trunc.nii.gz",
"body_extremities.nii.gz",
"skin.nii.gz"}},
147 {
"hip_implant", {
"hip_implant.nii.gz"}},
148 {
"cerebral_bleed", {
"intracerebral_hemorrhage.nii.gz"}},
149 {
"lung_vessels", {
"lung_vessels.nii.gz",
"lung_trachea_bronchia.nii.gz"}},
150 {
"pleural_pericard_effusion", {
"pleural_effusion.nii.gz",
"pericardial_effusion.nii.gz"}},
151 {
"head_glands_cavities", {
"eye_left.nii.gz",
"eye_right.nii.gz",
"eye_lens_left.nii.gz",
"eye_lens_right.nii.gz",
"optic_nerve_left.nii.gz",
"optic_nerve_right.nii.gz",
"parotid_gland_left.nii.gz",
"parotid_gland_right.nii.gz",
"submandibular_gland_right.nii.gz",
"submandibular_gland_left.nii.gz",
"nasopharynx.nii.gz",
"oropharynx.nii.gz",
"hypopharynx.nii.gz",
"nasal_cavity_right.nii.gz",
"nasal_cavity_left.nii.gz",
"auditory_canal_right.nii.gz",
"auditory_canal_left.nii.gz",
"soft_palate.nii.gz",
"hard_palate.nii.gz" }},
152 {
"head_muscles", {
"masseter_right.nii.gz",
"masseter_left.nii.gz",
"temporalis_right.nii.gz",
"temporalis_left.nii.gz",
"lateral_pterygoid_right.nii.gz",
"lateral_pterygoid_left.nii.gz",
"medial_pterygoid_right.nii.gz",
"medial_pterygoid_left.nii.gz",
"tongue.nii.gz",
"digastric_right.nii.gz",
"digastric_left.nii.gz"}},
153 {
"headneck_bones_vessels", {
"larynx_air.nii.gz" ,
"thyroid_cartilage.nii.gz" ,
"hyoid.nii.gz" ,
"cricoid_cartilage.nii.gz",
"zygomatic_arch_right.nii.gz",
"zygomatic_arch_left.nii.gz",
"styloid_process_right.nii.gz",
"styloid_process_left.nii.gz",
"internal_carotid_artery_right.nii.gz",
"internal_carotid_artery_left.nii.gz",
"internal_jugular_vein_right.nii.gz",
"internal_jugular_vein_left.nii.gz"}},
154 {
"headneck_muscles", {
"sternocleidomastoid_right.nii.gz",
"sternocleidomastoid_left.nii.gz",
"superior_pharyngeal_constrictor.nii.gz",
"middle_pharyngeal_constrictor.nii.gz",
"inferior_pharyngeal_constrictor.nii.gz",
"trapezius_right.nii.gz",
"trapezius_left.nii.gz",
"platysma_right.nii.gz",
"platysma_left.nii.gz",
"levator_scapulae_right.nii.gz",
"levator_scapulae_left.nii.gz",
"anterior_scalene_right.nii.gz",
"anterior_scalene_left.nii.gz",
"middle_scalene_right.nii.gz",
"middle_scalene_left.nii.gz",
"posterior_scalene_right.nii.gz",
"posterior_scalene_left.nii.gz",
"sterno_thyroid_right.nii.gz",
"sterno_thyroid_left.nii.gz",
"thyrohyoid_right.nii.gz",
"thyrohyoid_left.nii.gz",
"prevertebral_right.nii.gz",
"prevertebral_left.nii.gz"}},
155 {
"liver_vessels", {
"liver_vessels.nii.gz" ,
"liver_tumor.nii.gz"}},
156 {
"oculomotor_muscles", {
"skull.nii.gz",
"eyeball_right.nii.gz",
"lateral_rectus_muscle_right.nii.gz",
"superior_oblique_muscle_right.nii.gz",
"levator_palpebrae_superioris_right.nii.gz",
"superior_rectus_muscle_right.nii.gz",
"medial_rectus_muscle_left.nii.gz",
"inferior_oblique_muscle_right.nii.gz",
"inferior_rectus_muscle_right.nii.gz",
"optic_nerve_left.nii.gz",
"eyeball_left.nii.gz",
"lateral_rectus_muscle_left.nii.gz",
"superior_oblique_muscle_left.nii.gz",
"levator_palpebrae_superioris_left.nii.gz",
"superior_rectus_muscle_left.nii.gz",
"medial_rectus_muscle_right.nii.gz",
"inferior_oblique_muscle_left.nii.gz",
"inferior_rectus_muscle_left.nii.gz",
"optic_nerve_right.nii.gz"}},
157 {
"lung_nodules", {
"lung.nii.gz",
"lung_nodules.nii.gz", }},
158 {
"kidney_cysts", {
"kidney_cyst_left.nii.gz",
"kidney_cyst_right.nii.gz"}},
159 {
"breasts", {
"breast.nii.gz"}},
160 {
"liver_segments", {
"liver_segment_1.nii.gz",
"liver_segment_2.nii.gz",
"liver_segment_3.nii.gz",
"liver_segment_4.nii.gz",
"liver_segment_5.nii.gz",
"liver_segment_6.nii.gz",
"liver_segment_7.nii.gz",
"liver_segment_8.nii.gz"}},
161 {
"liver_segments_mr", {
"liver_segment_1.nii.gz",
"liver_segment_2.nii.gz",
"liver_segment_3.nii.gz",
"liver_segment_4.nii.gz",
"liver_segment_5.nii.gz",
"liver_segment_6.nii.gz",
"liver_segment_7.nii.gz",
"liver_segment_8.nii.gz"}},
162 {
"craniofacial_structures", {
"mandible.nii.gz",
"teeth_lower.nii.gz",
"skull.nii.gz",
"head.nii.gz",
"sinus_maxillary.nii.gz",
"sinus_frontal.nii.gz",
"teeth_upper.nii.gz"}}