ExtractStation_1RL_Post_Limits();
m_Working_Support = m_ListOfStations["1R"];
Remove_Structures(" 1R", "ScaleneMuscleAnt");
- Remove_Structures(" 1R", "CommonCarotidArteryRight");
+ Remove_Structures(" 1R", "RightCommonCarotidArtery");
m_Working_Support = m_ListOfStations["1L"];
Remove_Structures(" 1L", "ScaleneMuscleAnt");
- Remove_Structures(" 1L", "CommonCarotidArteryLeft");
+ Remove_Structures(" 1L", "LeftCommonCarotidArtery");
// Generic RelativePosition processes
m_ListOfStations["1R"] = this->ApplyRelativePositionList("Station_1R", m_ListOfStations["1R"]);
// m_Working_Support must be set
Remove_Structures(s, "BrachioCephalicVein");
Remove_Structures(s, "BrachioCephalicArtery");
- Remove_Structures(s, "CommonCarotidArteryLeft");
- Remove_Structures(s, "CommonCarotidArteryRight");
- Remove_Structures(s, "SubclavianArteryLeft");
- Remove_Structures(s, "SubclavianArteryRight");
+ Remove_Structures(s, "LeftCommonCarotidArtery");
+ Remove_Structures(s, "RightCommonCarotidArtery");
+ Remove_Structures(s, "LeftSubclavianArtery");
+ Remove_Structures(s, "RightSubclavianArtery");
Remove_Structures(s, "Thyroid");
Remove_Structures(s, "Aorta");
}
ExtractStation_3A_Remove_Structures()
{
Remove_Structures(" 3A", "Aorta");
- Remove_Structures(" 3A", "SubclavianArteryLeft");
- Remove_Structures(" 3A", "SubclavianArteryRight");
+ Remove_Structures(" 3A", "LeftSubclavianArtery");
+ Remove_Structures(" 3A", "RightSubclavianArtery");
Remove_Structures(" 3A", "Thyroid");
- Remove_Structures(" 3A", "CommonCarotidArteryLeft");
- Remove_Structures(" 3A", "CommonCarotidArteryRight");
+ Remove_Structures(" 3A", "LeftCommonCarotidArtery");
+ Remove_Structures(" 3A", "RightCommonCarotidArtery");
Remove_Structures(" 3A", "BrachioCephalicArtery");
// Remove_Structures("3A", "Bones"); --> should be in extractmediastinum
// Remove_Structures("3A", "BrachioCephalicVein"); ?
m_ListOfStations["3P"] = m_Working_Support;
StopCurrentStep<MaskImageType>(m_Working_Support);
- // ExtractStation_3P_LR_inf_Limits(); // <-- done in RelPosList
-
// Generic RelativePosition processes
m_ListOfStations["3P"] = this->ApplyRelativePositionList("Station_3P", m_ListOfStations["3P"]);
m_Working_Support = m_ListOfStations["3P"];
// LR limits superiorly => not here for the moment because not clear in the def
// ExtractStation_3P_LR_sup_Limits_2(); //TODO
// ExtractStation_3P_LR_sup_Limits(); // old version to change
+ // ExtractStation_3P_LR_inf_Limits(); // <-- done in RelPosList
// Store image filenames into AFDB
writeImage<MaskImageType>(m_ListOfStations["3P"], "seg/Station3P.mhd");
Trachea = clitk::ResizeImageLike<MaskImageType>(Trachea, m_Working_Support, GetBackgroundValue());
SubclavianArtery = clitk::ResizeImageLike<MaskImageType>(SubclavianArtery, m_Working_Support, GetBackgroundValue());
- writeImage<MaskImageType>(Trachea, "tr.mhd");
- writeImage<MaskImageType>(SubclavianArtery, "sca.mhd");
+ // writeImage<MaskImageType>(Trachea, "tr.mhd");
+ // writeImage<MaskImageType>(SubclavianArtery, "sca.mhd");
// Get list of slices
std::vector<MaskSlicePointer> slices_support;
m_CarinaZ, true, GetBackgroundValue());
m_ListOfSupports["Support_Superior_to_Carina"] = m_Support_Superior_to_Carina;
m_ListOfSupports["Support_Inferior_to_Carina"] = m_Support_Inferior_to_Carina;
- writeImage<MaskImageType>(m_Support_Inferior_to_Carina, "seg/Support_Inf_Carina.mhd");
- this->GetAFDB()->SetImageFilename("Support_Inf_Carina", "seg/Support_Inf_Carina.mhd");
- writeImage<MaskImageType>(m_Support_Superior_to_Carina, "seg/Support_Sup_Carina.mhd");
- this->GetAFDB()->SetImageFilename("Support_Sup_Carina", "seg/Support_Sup_Carina.mhd");
+ writeImage<MaskImageType>(m_Support_Inferior_to_Carina, "seg/Support_Inf_Carina.mha");
+ this->GetAFDB()->SetImageFilename("Support_Inf_Carina", "seg/Support_Inf_Carina.mha");
+ writeImage<MaskImageType>(m_Support_Superior_to_Carina, "seg/Support_Sup_Carina.mha");
+ this->GetAFDB()->SetImageFilename("Support_Sup_Carina", "seg/Support_Sup_Carina.mha");
// S1RL
Support_SupInf_S1RL();
m_ListOfSupports["S11"] = clitk::Clone<MaskImageType>(m_Support_Inferior_to_Carina);
// Store image filenames into AFDB
- writeImage<MaskImageType>(m_ListOfSupports["S1R"], "seg/Support_S1R.mhd");
- this->GetAFDB()->SetImageFilename("Support_S1R", "seg/Support_S1R.mhd");
- writeImage<MaskImageType>(m_ListOfSupports["S1L"], "seg/Support_S1L.mhd");
- this->GetAFDB()->SetImageFilename("Support_S1L", "seg/Support_S1L.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S1R"], "seg/Support_S1R.mha");
+ this->GetAFDB()->SetImageFilename("Support_S1R", "seg/Support_S1R.mha");
+ writeImage<MaskImageType>(m_ListOfSupports["S1L"], "seg/Support_S1L.mha");
+ this->GetAFDB()->SetImageFilename("Support_S1L", "seg/Support_S1L.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S2L"], "seg/Support_S2L.mhd");
- this->GetAFDB()->SetImageFilename("Support_S2L", "seg/Support_S2L.mhd");
- writeImage<MaskImageType>(m_ListOfSupports["S2R"], "seg/Support_S2R.mhd");
- this->GetAFDB()->SetImageFilename("Support_S2R", "seg/Support_S2R.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S2L"], "seg/Support_S2L.mha");
+ this->GetAFDB()->SetImageFilename("Support_S2L", "seg/Support_S2L.mha");
+ writeImage<MaskImageType>(m_ListOfSupports["S2R"], "seg/Support_S2R.mha");
+ this->GetAFDB()->SetImageFilename("Support_S2R", "seg/Support_S2R.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S3P"], "seg/Support_S3P.mhd");
- this->GetAFDB()->SetImageFilename("Support_S3P", "seg/Support_S3P.mhd");
- writeImage<MaskImageType>(m_ListOfSupports["S3A"], "seg/Support_S3A.mhd");
- this->GetAFDB()->SetImageFilename("Support_S3A", "seg/Support_S3A.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S3P"], "seg/Support_S3P.mha");
+ this->GetAFDB()->SetImageFilename("Support_S3P", "seg/Support_S3P.mha");
+ writeImage<MaskImageType>(m_ListOfSupports["S3A"], "seg/Support_S3A.mha");
+ this->GetAFDB()->SetImageFilename("Support_S3A", "seg/Support_S3A.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S4L"], "seg/Support_S4L.mhd");
- this->GetAFDB()->SetImageFilename("Support_S4L", "seg/Support_S4L.mhd");
- writeImage<MaskImageType>(m_ListOfSupports["S4R"], "seg/Support_S4R.mhd");
- this->GetAFDB()->SetImageFilename("Support_S4R", "seg/Support_S4R.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S4L"], "seg/Support_S4L.mha");
+ this->GetAFDB()->SetImageFilename("Support_S4L", "seg/Support_S4L.mha");
+ writeImage<MaskImageType>(m_ListOfSupports["S4R"], "seg/Support_S4R.mha");
+ this->GetAFDB()->SetImageFilename("Support_S4R", "seg/Support_S4R.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S5"], "seg/Support_S5.mhd");
- this->GetAFDB()->SetImageFilename("Support_S5", "seg/Support_S5.mhd");
- writeImage<MaskImageType>(m_ListOfSupports["S6"], "seg/Support_S6.mhd");
- this->GetAFDB()->SetImageFilename("Support_S6", "seg/Support_S6.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S5"], "seg/Support_S5.mha");
+ this->GetAFDB()->SetImageFilename("Support_S5", "seg/Support_S5.mha");
+ writeImage<MaskImageType>(m_ListOfSupports["S6"], "seg/Support_S6.mha");
+ this->GetAFDB()->SetImageFilename("Support_S6", "seg/Support_S6.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S7"], "seg/Support_S7.mhd");
- this->GetAFDB()->SetImageFilename("Support_S7", "seg/Support_S7.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S7"], "seg/Support_S7.mha");
+ this->GetAFDB()->SetImageFilename("Support_S7", "seg/Support_S7.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S8"], "seg/Support_S8.mhd");
- this->GetAFDB()->SetImageFilename("Support_S8", "seg/Support_S8.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S8"], "seg/Support_S8.mha");
+ this->GetAFDB()->SetImageFilename("Support_S8", "seg/Support_S8.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S9"], "seg/Support_S9.mhd");
- this->GetAFDB()->SetImageFilename("Support_S9", "seg/Support_S9.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S9"], "seg/Support_S9.mha");
+ this->GetAFDB()->SetImageFilename("Support_S9", "seg/Support_S9.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S10"], "seg/Support_S10.mhd");
- this->GetAFDB()->SetImageFilename("Support_S10", "seg/Support_S10.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S10"], "seg/Support_S10.mha");
+ this->GetAFDB()->SetImageFilename("Support_S10", "seg/Support_S10.mha");
- writeImage<MaskImageType>(m_ListOfSupports["S11"], "seg/Support_S11.mhd");
- this->GetAFDB()->SetImageFilename("Support_S11", "seg/Support_S11.mhd");
+ writeImage<MaskImageType>(m_ListOfSupports["S11"], "seg/Support_S11.mha");
+ this->GetAFDB()->SetImageFilename("Support_S11", "seg/Support_S11.mha");
WriteAFDB();
}
//--------------------------------------------------------------------
clitk::ExtractLymphStationsFilter<ImageType>::
Support_S5()
{
- StartNewStep("[Support] Sup-Inf limits S5 with aorta");
+ StartNewStep("[Support] Sup-Inf limits S5 with Aorta and MainPulmonaryArtery");
// Initial S5 support
MaskImagePointer S5 =
// Inf limits with "upper rim of the left main pulmonary artery"
// For the moment only, it will change.
- MaskImagePointer PulmonaryTrunk = this->GetAFDB()->template GetImage<MaskImageType>("PulmonaryTrunk");
+ MaskImagePointer MainPulmonaryArtery = this->GetAFDB()->template GetImage<MaskImageType>("MainPulmonaryArtery");
MaskImagePointType p;
p[0] = p[1] = p[2] = 0.0; // to avoid warning
- clitk::FindExtremaPointInAGivenDirection<MaskImageType>(PulmonaryTrunk, GetBackgroundValue(), 2, false, p);
- p[2] += PulmonaryTrunk->GetSpacing()[2];
+ clitk::FindExtremaPointInAGivenDirection<MaskImageType>(MainPulmonaryArtery, GetBackgroundValue(), 2, false, p);
+ p[2] += MainPulmonaryArtery->GetSpacing()[2];
// Cut Sup/Inf
S5 = clitk::CropImageAlongOneAxis<MaskImageType>(S5, 2, p[2], sup, true, GetBackgroundValue());
}
// Extract Stations
+ ExtractStation_1RL();
+ ExtractStation_2RL();
ExtractStation_3P();
ExtractStation_3A();
- ExtractStation_2RL();
- ExtractStation_1RL();
ExtractStation_4RL();
ExtractStation_5();
ExtractStation_6();
// ---------- TODO -----------------------
// Extract Station8
- ExtractStation_8();
+ // ExtractStation_8();
// Extract Station7
- this->StartNewStep("Station 7");
- this->StartSubStep();
- ExtractStation_7();
- this->StopSubStep();
+ //this->StartNewStep("Station 7");
+ //this->StartSubStep();
+ //ExtractStation_7();
+ //this->StopSubStep();
}
//--------------------------------------------------------------------
binarizedContour = clitk::CropImageAlongOneAxis<MaskImageType>(binarizedContour, 2, inf, sup,
false, GetBackgroundValue());
// Update the AFDB
- writeImage<MaskImageType>(binarizedContour, "seg/AntPostVesselsSeparation.mhd");
- this->GetAFDB()->SetImageFilename("AntPostVesselsSeparation", "seg/AntPostVesselsSeparation.mhd");
+ writeImage<MaskImageType>(binarizedContour, "seg/AntPostVesselsSeparation.mha");
+ this->GetAFDB()->SetImageFilename("AntPostVesselsSeparation", "seg/AntPostVesselsSeparation.mha");
this->WriteAFDB();
return binarizedContour;
typedef std::map<std::string, MaskImagePointer>::iterator MapIter;
MapOfStructures["BrachioCephalicArtery"] = this->GetAFDB()->template GetImage<MaskImageType>("BrachioCephalicArtery");
MapOfStructures["BrachioCephalicVein"] = this->GetAFDB()->template GetImage<MaskImageType>("BrachioCephalicVein");
- MapOfStructures["CommonCarotidArteryLeft"] = this->GetAFDB()->template GetImage<MaskImageType>("CommonCarotidArteryLeft");
- MapOfStructures["CommonCarotidArteryRight"] = this->GetAFDB()->template GetImage<MaskImageType>("CommonCarotidArteryRight");
- MapOfStructures["SubclavianArteryLeft"] = this->GetAFDB()->template GetImage<MaskImageType>("SubclavianArteryLeft");
- MapOfStructures["SubclavianArteryRight"] = this->GetAFDB()->template GetImage<MaskImageType>("SubclavianArteryRight");
+ MapOfStructures["CommonCarotidArteryLeft"] = this->GetAFDB()->template GetImage<MaskImageType>("LeftCommonCarotidArtery");
+ MapOfStructures["CommonCarotidArteryRight"] = this->GetAFDB()->template GetImage<MaskImageType>("RightCommonCarotidArtery");
+ MapOfStructures["SubclavianArteryLeft"] = this->GetAFDB()->template GetImage<MaskImageType>("LeftSubclavianArtery");
+ MapOfStructures["SubclavianArteryRight"] = this->GetAFDB()->template GetImage<MaskImageType>("RightSubclavianArtery");
MapOfStructures["Thyroid"] = this->GetAFDB()->template GetImage<MaskImageType>("Thyroid");
MapOfStructures["Aorta"] = this->GetAFDB()->template GetImage<MaskImageType>("Aorta");
MapOfStructures["Trachea"] = this->GetAFDB()->template GetImage<MaskImageType>("Trachea");
false, GetBackgroundValue());
// Update the AFDB
- writeImage<MaskImageType>(binarizedContour, "seg/AntPostVesselsSeparation.mhd");
- this->GetAFDB()->SetImageFilename("AntPostVesselsSeparation", "seg/AntPostVesselsSeparation.mhd");
+ writeImage<MaskImageType>(binarizedContour, "seg/AntPostVesselsSeparation.mha");
+ this->GetAFDB()->SetImageFilename("AntPostVesselsSeparation", "seg/AntPostVesselsSeparation.mha");
this->WriteAFDB();
return binarizedContour;
// Build the final 3D image from the previous slice by slice processing
m_SoughtVessel = clitk::JoinSlices<MaskImageType>(m_slice_recon, m_Mask, 2);
- writeImage<MaskImageType>(m_SoughtVessel, "recon2.mhd");
+ // writeImage<MaskImageType>(m_SoughtVessel, "recon2.mhd");
// Set binary image, (remove other labels).
m_SoughtVessel =
do {
// Debug
- std::cout << std::endl;
+ //std::cout << std::endl;
//DD(currentSlice);
ImagePointType c;
clitk::PointsUtils<MaskImageType>::Convert2DTo3D(previousCentroid, m_Mask, currentSlice-1, c);
SetForegroundValueLeftLung(1);
SetForegroundValueRightLung(2);
SetDistanceMaxToAnteriorPartOfTheVertebralBody(10);
- SetOutputMediastinumFilename("mediastinum.mhd");
+ SetOutputMediastinumFilename("mediastinum.mha");
UseBonesOff();
}
//--------------------------------------------------------------------
left_lung = clitk::SetBackground<MaskImageType, MaskImageType>(left_lung, left_lung, 2, 1, false);
right_lung = clitk::ResizeImageLike<MaskImageType>(right_lung, output, this->GetBackgroundValue());
left_lung = clitk::ResizeImageLike<MaskImageType>(left_lung, output, this->GetBackgroundValue());
- this->GetAFDB()->template SetImage<MaskImageType>("RightLung", "seg/RightLung.mhd",
+ this->GetAFDB()->template SetImage<MaskImageType>("RightLung", "seg/RightLung.mha",
right_lung, true);
- this->GetAFDB()->template SetImage<MaskImageType>("LeftLung", "seg/LeftLung.mhd",
+ this->GetAFDB()->template SetImage<MaskImageType>("LeftLung", "seg/LeftLung.mha",
left_lung, true);
this->GetAFDB()->Write();
this->template StopCurrentStep<MaskImageType>(output);
bones_post = roiFilter->GetOutput();
// writeImage<MaskImageType>(bones_post, "b_post.mhd");
- // Now, insert this image in the AFDB
- this->GetAFDB()->template SetImage<MaskImageType>("Bones_Post", "seg/Bones_Post.mhd",
+ // Now, insert this image in the AFDB ==> (needed because used in the RelativePosition config file)
+ this->GetAFDB()->template SetImage<MaskImageType>("Bones_Post", "seg/Bones_Post.mha",
bones_post, true);
- this->GetAFDB()->template SetImage<MaskImageType>("Bones_Ant", "seg/Bones_Ant.mhd",
+ this->GetAFDB()->template SetImage<MaskImageType>("Bones_Ant", "seg/Bones_Ant.mha",
bones_ant, true);
- this->GetAFDB()->Write();
+ this->GetAFDB()->Write();
this->template StopCurrentStep<MaskImageType>(output);
}
try {
GetAFDB()->Load();
} catch (clitk::ExceptionObject e) {
- std::cout << "Could not read '" << GetAFDBFilename() << "', create one AFDB." << std::endl;
+ std::cout << "******* Could not read '" << GetAFDBFilename() << "', create one AFDB. ********" << std::endl;
GetAFDB();
}
}