41 mMaxVolumeSize(32*1000),
49 mInputSpacing(inputSpacing), mMaxVolumeSize(maxVolumeSize), mValid(false)
51 mImage.
setSpacingKeepDim(Eigen::Array3d(inputSpacing, inputSpacing, inputSpacing));
56 if(mImage.
getDim().minCoeff() <= 1)
71 this->suggestSpacingKeepBounds(spacing);
81 double newSpacing = mImage.
getBounds()[index] / (newDim);
92 this->suggestSpacingKeepBounds(mInputSpacing);
97 void OutputVolumeParams::suggestSpacingKeepBounds(
double spacing)
99 Eigen::Array3d bounds = mImage.
getBounds();
106 mMaxVolumeSize = maxSize;
111 return mMaxVolumeSize;
133 return mInputSpacing;
void setDim(int index, int newDim)
double getSpacing() const
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
void setSpacing(double spacing)
void limitVoxelsKeepBounds(unsigned long maxVolumeSize)
void set_rMd(Transform3D rMd)
DoubleBoundingBox3D getExtent()
Eigen::Array3i getDim() const
void setDimKeepBoundsAlignSpacing(Eigen::Array3d bounds)
Eigen::Array3i getDim() const
unsigned long getMaxVolumeSize()
unsigned long getNumVoxels() const
Eigen::Array3d getBounds()
Representation of a floating-point bounding box in 3D. The data are stored as {xmin,xmax,ymin,ymax,zmin,zmax}, in order to simplify communication with vtk.
void constrainVolumeSize()
Eigen::Array3d getSpacing() const
void setMaxVolumeSize(double maxSize)
void changeToUniformSpacing()
unsigned long getVolumeSize() const
void setSpacingKeepDim(Eigen::Array3d spacing)