Skip to content

Commit

Permalink
fix for when cosines are missing
Browse files Browse the repository at this point in the history
  • Loading branch information
rii-mango committed Jun 10, 2016
1 parent 4db2d7c commit dfd2332
Showing 1 changed file with 25 additions and 16 deletions.
41 changes: 25 additions & 16 deletions src/js/volume/dicom/header-dicom.js
Original file line number Diff line number Diff line change
Expand Up @@ -537,8 +537,13 @@ papaya.volume.dicom.HeaderDICOM.prototype.getOrientationCertainty = function ()

papaya.volume.dicom.HeaderDICOM.prototype.getOrigin = function () {
var m = this.getBestTransform();
var invm = numeric.inv(m);
return new papaya.core.Coordinate(invm[0][3], invm[1][3], invm[2][3]);

if (m) {
var invm = numeric.inv(m);
return new papaya.core.Coordinate(invm[0][3], invm[1][3], invm[2][3]);
} else {
return new papaya.core.Coordinate(0, 0, 0);
}
};


Expand Down Expand Up @@ -583,21 +588,25 @@ papaya.volume.dicom.HeaderDICOM.prototype.getImageDescription = function () {




papaya.volume.dicom.HeaderDICOM.prototype.getBestTransform = function () {
var cosines = this.series.images[0].getImageDirections();
var vs = this.getVoxelDimensions();
var coord = this.series.images[0].getImagePosition();
var cosx = [cosines[0], cosines[1], cosines[2]];
var cosy = [cosines[3], cosines[4], cosines[5]];
var cosz = [cosx[1] * cosy[2] - cosx[2] * cosy[1],
cosx[2] * cosy[0] - cosx[0] * cosy[2],
cosx[0] * cosy[1] - cosx[1] * cosy[0]];
var m = [ [cosx[0] * vs.colSize * -1, cosy[0] * vs.rowSize, cosz[0] * vs.sliceSize, -1 * coord[0]],
[cosx[1] * vs.colSize, cosy[1] * vs.rowSize * -1, cosz[1] * vs.sliceSize, -1 * coord[1]],
[cosx[2] * vs.colSize, cosy[2] * vs.rowSize, cosz[2] * vs.sliceSize, coord[2]],
[0, 0, 0, 1] ];
return m.clone();
var cosines = this.series.images[0].getImageDirections(),
m = null;

if (cosines) {
var vs = this.getVoxelDimensions();
var coord = this.series.images[0].getImagePosition();
var cosx = [cosines[0], cosines[1], cosines[2]];
var cosy = [cosines[3], cosines[4], cosines[5]];
var cosz = [cosx[1] * cosy[2] - cosx[2] * cosy[1],
cosx[2] * cosy[0] - cosx[0] * cosy[2],
cosx[0] * cosy[1] - cosx[1] * cosy[0]];
m = [ [cosx[0] * vs.colSize * -1, cosy[0] * vs.rowSize, cosz[0] * vs.sliceSize, -1 * coord[0]],
[cosx[1] * vs.colSize, cosy[1] * vs.rowSize * -1, cosz[1] * vs.sliceSize, -1 * coord[1]],
[cosx[2] * vs.colSize, cosy[2] * vs.rowSize, cosz[2] * vs.sliceSize, coord[2]],
[0, 0, 0, 1] ];
}

return m;
};


Expand Down

0 comments on commit dfd2332

Please sign in to comment.