updating cornerstoneTools (PR #189)

Pull Request
https://github.com/chafey/cornerstoneTools/pull/189
This commit is contained in:
Leonardo Campos 2017-03-04 00:17:01 -03:00
parent 9ad0b670b3
commit 855cc02461

View File

@ -2940,12 +2940,8 @@ if (typeof cornerstoneTools === 'undefined') {
var sp = storedPixels[0];
var mo = sp * eventData.image.slope + eventData.image.intercept;
var suv = cornerstoneTools.calculateSUV(eventData.image, sp);
var modalityTag = 'x00080060';
var modality;
if (eventData.image.data) {
modality = eventData.image.data.string(modalityTag);
}
var seriesModule = cornerstone.metaData.get('generalSeriesModule', image.imageId);
var modality = seriesModule.modality;
if (modality === 'CT') {
text += 'HU: ';
@ -3196,14 +3192,10 @@ if (typeof cornerstoneTools === 'undefined') {
var lineWidth = cornerstoneTools.toolStyle.getToolWidth();
var config = cornerstoneTools.ellipticalRoi.getConfiguration();
var context = eventData.canvasContext.canvas.getContext('2d');
context.setTransform(1, 0, 0, 1, 0, 0);
var seriesModule = cornerstone.metaData.get('generalSeriesModule', image.imageId);
var modality = seriesModule.modality;
// Retrieve the image modality from its metadata, if available
var modalityTag = 'x00080060';
var modality;
if (image.data) {
modality = image.data.string(modalityTag);
}
context.setTransform(1, 0, 0, 1, 0, 0);
// If we have tool data for this element - iterate over each set and draw it
for (var i = 0; i < toolData.data.length; i++) {
@ -5045,14 +5037,10 @@ if (typeof cornerstoneTools === 'undefined') {
var lineWidth = cornerstoneTools.toolStyle.getToolWidth();
var config = cornerstoneTools.rectangleRoi.getConfiguration();
var context = eventData.canvasContext.canvas.getContext('2d');
context.setTransform(1, 0, 0, 1, 0, 0);
var seriesModule = cornerstone.metaData.get('generalSeriesModule', image.imageId);
var modality = seriesModule.modality;
// Retrieve the image modality from its metadata, if available
var modalityTag = 'x00080060';
var modality;
if (image.data) {
modality = image.data.string(modalityTag);
}
context.setTransform(1, 0, 0, 1, 0, 0);
// If we have tool data for this element - iterate over each set and draw it
for (var i = 0; i < toolData.data.length; i++) {
@ -11197,39 +11185,38 @@ Display scroll progress bar across bottom of image.
return;
}
// if no dicom data set, return
if (image.data === undefined) {
return;
}
var patientStudyModule = cornerstone.metaData.get('patientStudyModule', image.imageId);
var seriesModule = cornerstone.metaData.get('generalSeriesModule', image.imageId);
var modality = seriesModule.modality;
// image must be PET
if (image.data.string('x00080060') !== 'PT') {
if (modality !== 'PT') {
return;
}
var modalityPixelValue = storedPixelValue * image.slope + image.intercept;
var patientWeight = image.data.floatString('x00101030'); // in kg
var patientWeight = patientStudyModule.patientWeight; // in kg
if (patientWeight === undefined) {
return;
}
var petSequence = image.data.elements.x00540016;
if (petSequence === undefined) {
var petSequenceModule = cornerstone.metaData.get('petIsotopeModule', image.imageId);
if (petSequenceModule === undefined) {
return;
}
petSequence = petSequence.items[0].dataSet;
var startTime = dicomParser.parseTM(petSequence.string('x00181072'));
var totalDose = petSequence.floatString('x00181074');
var halfLife = petSequence.floatString('x00181075');
var seriesAcquisitionTime = dicomParser.parseTM(image.data.string('x00080031'));
var radiopharmaceuticalInfo = petSequenceModule.radiopharmaceuticalInfo;
var startTime = radiopharmaceuticalInfo.radiopharmaceuticalStartTime;
var totalDose = radiopharmaceuticalInfo.radionuclideTotalDose;
var halfLife = radiopharmaceuticalInfo.radionuclideHalfLife;
var seriesAcquisitionTime = seriesModule.seriesTime;
if (!startTime || !totalDose || !halfLife || !seriesAcquisitionTime) {
return;
}
var acquisitionTimeInSeconds = fracToDec(seriesAcquisitionTime.fractionalSeconds) + seriesAcquisitionTime.seconds + seriesAcquisitionTime.minutes * 60 + seriesAcquisitionTime.hours * 60 * 60;
var acquisitionTimeInSeconds = fracToDec(seriesAcquisitionTime.fractionalSeconds || 0) + seriesAcquisitionTime.seconds + seriesAcquisitionTime.minutes * 60 + seriesAcquisitionTime.hours * 60 * 60;
var injectionStartTimeInSeconds = fracToDec(startTime.fractionalSeconds) + startTime.seconds + startTime.minutes * 60 + startTime.hours * 60 * 60;
var durationInSeconds = acquisitionTimeInSeconds - injectionStartTimeInSeconds;
var correctedDose = totalDose * Math.exp(-durationInSeconds * Math.log(2) / halfLife);