MCPcopy Create free account
hub / github.com/MITK/MITK / ClassicDICOMSeriesReader

Method ClassicDICOMSeriesReader

Modules/DICOM/src/mitkClassicDICOMSeriesReader.cpp:20–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18
19
20mitk::ClassicDICOMSeriesReader
21::ClassicDICOMSeriesReader()
22:ThreeDnTDICOMSeriesReader()
23{
24 mitk::DICOMTagBasedSorter::Pointer tagSorter = mitk::DICOMTagBasedSorter::New();
25
26 // all the things that split by tag in mitk::DicomSeriesReader
27 tagSorter->AddDistinguishingTag( DICOMTag(0x0020, 0x000e) ); // Series Instance UID
28 //tagSorter->AddDistinguishingTag( DICOMTag(0x0020, 0x0052) ); // Frame of Reference UID
29
30 // a sorter...
31 mitk::DICOMSortCriterion::ConstPointer sorting =
32 mitk::SortByImagePositionPatient::New( // image position patient and image orientation
33 mitk::DICOMSortByTag::New( DICOMTag(0x0020, 0x0012), // acquisition number
34 mitk::DICOMSortByTag::New( DICOMTag(0x0008, 0x0032), // acquisition time
35 mitk::DICOMSortByTag::New( DICOMTag(0x0018, 0x1060), // trigger time
36 mitk::DICOMSortByTag::New( DICOMTag(0x0008, 0x0018) // SOP instance UID (last resort, not really meaningful but decides clearly)
37 ).GetPointer()
38 ).GetPointer()
39 ).GetPointer()
40 ).GetPointer()
41 ).GetPointer();
42 tagSorter->SetSortCriterion( sorting );
43 tagSorter->SetStrictSorting(false); // nothing did enforce constant distances before, there was just the EquiDistantBlocksSorter logic
44
45 // define above sorting for this class
46 this->AddSortingElement( tagSorter );
47
48 this->SetFixTiltByShearing(true); // that was configurable, default was true
49 this->SetToleratedOriginOffset(0.005); // was hard-coded
50 this->SetGroup3DandT(true); // that was configurable, default was true
51 this->OnlyCondenseSameSeriesOff();
52
53 m_EquiDistantBlocksSorter->SetAcceptTwoSlicesGroups(false); // old reader did not accept that
54
55 this->SetConfigurationLabel("2013 sorting logic");
56 this->SetConfigurationDescription("Sort by Image Position, then Acquisition Number, Time, Trigger time, group by 3D+t, group tilted images, condense blocks even if series does not match");
57}
58
59mitk::ClassicDICOMSeriesReader
60::ClassicDICOMSeriesReader(const ClassicDICOMSeriesReader& other )

Callers

nothing calls this directly

Calls 12

AddDistinguishingTagMethod · 0.80
GetPointerMethod · 0.80
SetSortCriterionMethod · 0.80
SetStrictSortingMethod · 0.80
AddSortingElementMethod · 0.80
SetFixTiltByShearingMethod · 0.80
SetGroup3DandTMethod · 0.80
SetConfigurationLabelMethod · 0.80
NewFunction · 0.50

Tested by

no test coverage detected