35 std::string name = fileName;
36 m_FileExtension = itksys::SystemTools::GetFilenameLastExtension( fileName );
37 if(m_FileExtension ==
".nrrd")
39 m_ToFImageWriter = mitk::ToFNrrdImageWriter::New();
41 else if(m_FileExtension ==
".csv")
43 m_ToFImageWriter = mitk::ToFImageCsvWriter::New();
47 throw std::logic_error(
"The specified file type is not supported, standard file type is .nrrd!");
49 int pos = name.find_last_of(
".");
50 name.insert(pos,
"_DistanceImage");
51 m_ToFImageWriter->SetDistanceImageFileName(name);
53 name.insert(pos,
"_AmplitudeImage");
54 m_ToFImageWriter->SetAmplitudeImageFileName(name);
56 name.insert(pos,
"_IntensityImage");
57 m_ToFImageWriter->SetIntensityImageFileName(name);
67 mitk::Image::Pointer distanceImageInput = this->GetInput(0);
68 assert(distanceImageInput);
69 mitk::Image::Pointer amplitudeImageInput = this->GetInput(1);
70 assert(amplitudeImageInput);
71 mitk::Image::Pointer intensityImageInput = this->GetInput(2);
72 assert(intensityImageInput);
74 ImageReadAccessor distAcc(distanceImageInput, distanceImageInput->GetSliceData(0,0,0));
75 ImageReadAccessor amplAcc(amplitudeImageInput, amplitudeImageInput->GetSliceData(0,0,0));
76 ImageReadAccessor intenAcc(intensityImageInput, intensityImageInput->GetSliceData(0,0,0));
78 float* distanceFloatData = (
float*) distAcc.GetData();
79 float* amplitudeFloatData = (
float*) amplAcc.GetData();
80 float* intensityFloatData = (
float*) intenAcc.GetData();
81 if (m_RecordingStarted)
83 m_ToFImageWriter->Add(distanceFloatData,amplitudeFloatData,intensityFloatData);
87 this->SetNthOutput(0,distanceImageInput);
88 this->SetNthOutput(1,amplitudeImageInput);
89 this->SetNthOutput(2,intensityImageInput);
126 if ((input ==
nullptr) && (idx == this->GetNumberOfInputs() - 1))
128 this->SetNumberOfIndexedInputs(this->GetNumberOfInputs() - 1);
130 else if(idx == 0 || idx == 1 || idx == 2)
132 this->ProcessObject::SetNthInput(idx,
const_cast<InputImageType*
>(input));
133 unsigned int xDim = input->GetDimension(0);
134 unsigned int yDim = input->GetDimension(1);
135 m_ToFImageWriter->SetToFCaptureWidth(xDim);
136 m_ToFImageWriter->SetToFCaptureWidth(yDim);
139 this->CreateOutputsForAllInputs();