Skip to content
Snippets Groups Projects
Commit e1cbca65 authored by Julien Michel's avatar Julien Michel
Browse files

ENH: Adding an isotropic spacing mode, off by default

parent 85c1d512
No related branches found
No related tags found
No related merge requests found
......@@ -99,6 +99,11 @@ public:
itkSetMacro(OutputSize, SizeType);
itkGetMacro(OutputSize, SizeType);
/** Isotropic spacing flag */
itkSetMacro(EstimateIsotropicSpacing,bool);
itkGetMacro(EstimateIsotropicSpacing,bool);
itkBooleanMacro(EstimateIsotropicSpacing);
/**
* Method to Force the use of the spacing selected by the user
* The output size is computed using this spacing
......@@ -175,6 +180,7 @@ private:
bool m_ForceSpacing;
bool m_ForceSize;
bool m_EstimateIsotropicSpacing;
}; // end of class ImageToGenericRSOutputParameters
......
......@@ -31,6 +31,7 @@ ImageToGenericRSOutputParameters<TImage>
m_Transform = GenericRSTransformType::New();
m_ForceSpacing = false;
m_ForceSize = false;
m_EstimateIsotropicSpacing = false;
}
/**
......@@ -217,8 +218,19 @@ ImageToGenericRSOutputParameters<TImage>
// Evaluate spacing
SpacingType outputSpacing;
outputSpacing[0] = sizeCartoX / OxLength;
outputSpacing[1] = -sizeCartoY / OyLength;
if(m_EstimateIsotropicSpacing)
{
double isotropicSpacing = std::min(sizeCartoX / OxLength, sizeCartoY / OyLength);
outputSpacing[0] = isotropicSpacing;
outputSpacing[1] = -isotropicSpacing;
}
else
{
outputSpacing[0] = sizeCartoX / OxLength;
outputSpacing[1] = -sizeCartoY / OyLength;
}
this->SetOutputSpacing(outputSpacing);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment