37 if( !m_Transform6DOF )
39 for (
unsigned int i = 0; i < this->GetNumberOfOutputs() ; ++i)
48 output->SetDataValid(
false);
52 output->SetPosition(input->GetPosition() + m_Offset);
53 output->SetDataValid(
true);
59 if( this->GetNumberOfOutputs() < 2 )
61 MITK_WARN <<
"TrackedUltrasound not possible. The number of tracked devices must be at least 2.";
67 mitk::NavigationData::Pointer needleOut = this->GetOutput(0);
70 mitk::NavigationData::Pointer usTrackerOut = this->GetOutput(1);
75 needleOut->SetDataValid(
false);
78 needleOut->Graft(needleIn);
82 usTrackerOut->SetDataValid(
false);
85 usTrackerOut->Graft(usTrackerIn);
87 needleOut->Compose( usTrackerOut->GetInverse(),
false );
88 needleOut->Compose( m_Transformation->GetInverse() );
90 usTrackerOut->SetDataValid(
true);
91 needleOut->SetDataValid(
true);
93 if( this->GetNumberOfOutputs() > 2 )
95 for(
unsigned int i = 2; i < this->GetNumberOfOutputs(); ++i )
102 output->SetDataValid(
false);
105 output->
Graft(input);
106 output->SetDataValid(
true);