21: m_Subset(0), m_CameraIntrinsics(), m_InterPixelDistance()
27 m_CameraIntrinsics->SetDistorsionCoeffs(-0.36874385358645773f,-0.14339503290129013,0.0033210108720361795,-0.004277703352074105);
69 mitk::Image::Pointer input = this->GetInput();
71 unsigned int xDim = UINT_MAX;
72 unsigned int yDim = UINT_MAX;
74 if(input.IsNotNull() && input->IsInitialized())
76 xDim = input->GetDimension(0);
77 yDim = input->GetDimension(1);
80 bool pointSetValid =
true;
81 for (
unsigned int i=0; i<subset.size(); i++)
84 if (currentIndex[0] < 0 || currentIndex[0] >
static_cast<itk::IndexValueType
>(xDim) ||
85 currentIndex[1] < 0 || currentIndex[1] >
static_cast<itk::IndexValueType
>(yDim))
87 pointSetValid =
false;
96 MITK_ERROR<<
"One or more indizes are located outside the image domain";
102 std::vector<itk::Index<3> > subset;
103 for (
int i=0; i<pointSet->GetSize(); i++)
105 mitk::Point3D currentPoint = pointSet->GetPoint(i);
107 currentIndex[0] = currentPoint[0];
108 currentIndex[1] = currentPoint[1];
109 currentIndex[2] = currentPoint[2];
110 subset.push_back(currentIndex);
112 this->SetSubset(subset);
120 if (m_ReconstructionMode)
122 focalLengthInPixelUnits[0] = m_CameraIntrinsics->GetFocalLengthX();
123 focalLengthInPixelUnits[1] = m_CameraIntrinsics->GetFocalLengthY();
124 focalLengthInMm = 0.0;
128 focalLengthInPixelUnits[0] = 0.0;
129 focalLengthInPixelUnits[1] = 0.0;
130 focalLengthInMm = (m_CameraIntrinsics->GetFocalLengthX()*m_InterPixelDistance[0]+m_CameraIntrinsics->GetFocalLengthY()*m_InterPixelDistance[1])/2.0;
134 principalPoint[0] = m_CameraIntrinsics->GetPrincipalPointX();
135 principalPoint[1] = m_CameraIntrinsics->GetPrincipalPointY();
137 mitk::PointSet::Pointer output = this->GetOutput();
139 mitk::Image::Pointer input = this->GetInput();
143 if (m_Subset.size()!=0)
145 mitk::ImagePixelReadAccessor<float,2> imageAcces(input, input->GetSliceData(0));
146 for (
unsigned int i=0; i<m_Subset.size(); i++)
150 index2D[0] = currentIndex[0];
151 index2D[1] = currentIndex[1];
154 mitk::Point3D currentPoint;
155 if (m_ReconstructionMode)
160 output->InsertPoint(i,currentPoint);
165 int xDimension = (int)input->GetDimension(0);
166 int yDimension = (int)input->GetDimension(1);
168 mitk::ImagePixelReadAccessor<float,2> imageAcces(input, input->GetSliceData(0));
169 for (
int j=0; j<yDimension; j++)
171 for (
int i=0; i<xDimension; i++)
179 mitk::Point3D currentPoint;
180 if (m_ReconstructionMode)
185 if (distance>mitk::eps)
187 output->InsertPoint( pointCount, currentPoint );
static ToFPoint3D IndexToCartesianCoordinates(unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLengthX, ToFScalarType focalLengthY, ToFScalarType principalPointX, ToFScalarType principalPointY)
Convert index based distances to cartesian coordinates.
static ToFPoint3D IndexToCartesianCoordinatesWithInterpixdist(unsigned int i, unsigned int j, ToFScalarType distance, ToFScalarType focalLength, ToFScalarType interPixelDistanceX, ToFScalarType interPixelDistanceY, ToFScalarType principalPointX, ToFScalarType principalPointY)
Convert index based distances to cartesian coordinates.