updating cornerstoneTools (PR #189)
Pull Request https://github.com/chafey/cornerstoneTools/pull/189
This commit is contained in:
parent
9ad0b670b3
commit
855cc02461
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user