Skip to content

Commit

Permalink
Moments: assume uncalibrated images have 1mm pixel spacing
Browse files Browse the repository at this point in the history
Includes a message in the dialog if the image lacks spatial calibration.

Fixes bonej-org/bonej#33
  • Loading branch information
mdoube committed Aug 6, 2018
1 parent 7265034 commit e8136c9
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/org/doube/bonej/Moments.java
Expand Up @@ -90,10 +90,15 @@ public void run(final String arg) {
gd.addCheckbox("HU Calibrated", ImageCheck.huCalibrated(imp));
gd.addNumericField("Bone_Min:", min, 1, 6, pixUnits + " ");
gd.addNumericField("Bone_Max:", max, 1, 6, pixUnits + " ");
gd.addMessage("Only pixels >= bone min\n" + "and <= bone max are used.");
gd.addMessage("Only pixels >= bone min\n" + "and <= bone max are used.");
gd.addMessage("Density calibration coefficients");
gd.addNumericField("Slope", 0, 4, 6, "g.cm^-3 / " + pixUnits + " ");
gd.addNumericField("Y_Intercept", 1.8, 4, 6, "g.cm^-3");

if (cal.getUnits().contains("pixels"))
gd.addMessage("Spatial dimensions uncalibrated.\n"
+ "Assuming 1 mm pixel spacing.");

gd.addCheckbox("Align result", true);
gd.addCheckbox("Show axes (2D)", false);
gd.addCheckbox("Show axes (3D)", true);
Expand Down Expand Up @@ -191,17 +196,19 @@ private double voxelDensity(final double pixelValue, final double m, final doubl
}/* end voxelDensity */

/**
* Get a scale factor because density is in g / cm³ but our units are mm so
* density is 1000* too high
* Get a scale factor because density is in g / cm³ but our units are mm,
* microns or pixels so density is wrong leading to wrong mass and moments
*
* @param imp
* @return
*/
private double getDensityFactor(final ImagePlus imp) {
final String units = imp.getCalibration().getUnits();
double factor = 1;
if (units.contains("mm")) {
if (units.contains("mm") || units.contains("pixels")) {
factor = 1000;
} else if (units.contains("micron") || units.contains("µm")) {
factor = 1E12;
} else {
factor = 1;
}
Expand Down

0 comments on commit e8136c9

Please sign in to comment.