feat: Allow multiframe volumes (#3089)
* Allow multiframe volumes * feat:Allow display of multiframe volume
This commit is contained in:
parent
00e797801d
commit
fb2a60ae19
@ -17,7 +17,6 @@ export default function getCornerstoneOrientation(
|
||||
case CORONAL:
|
||||
return Enums.OrientationAxis.CORONAL;
|
||||
default:
|
||||
log.wanr('Choosing acquisition plane orientation');
|
||||
return Enums.OrientationAxis.ACQUISITION;
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,9 +38,50 @@ export default function isDisplaySetReconstructable(instances) {
|
||||
}
|
||||
}
|
||||
|
||||
function processMultiframe(instance) {
|
||||
//TODO: deal with multriframe checks! return false for now as can't reconstruct.
|
||||
return { value: false };
|
||||
function processMultiframe(multiFrameInstance) {
|
||||
const {
|
||||
PerFrameFunctionalGroupsSequence,
|
||||
SharedFunctionalGroupsSequence,
|
||||
} = multiFrameInstance;
|
||||
|
||||
// If we don't have the PixelMeasuresSequence, then the pixel spacing and
|
||||
// slice thickness isn't specified or is changing and we can't reconstruct
|
||||
// the dataset.
|
||||
if (
|
||||
!SharedFunctionalGroupsSequence ||
|
||||
!SharedFunctionalGroupsSequence[0].PixelMeasuresSequence
|
||||
) {
|
||||
return { value: false };
|
||||
}
|
||||
|
||||
// Check that the orientation is either shared or with the allowed
|
||||
// difference amount
|
||||
const {
|
||||
PlaneOrientationSequence: sharedOrientation,
|
||||
} = SharedFunctionalGroupsSequence;
|
||||
|
||||
if (!sharedOrientation) {
|
||||
const {
|
||||
PlaneOrientationSequence: firstOrientation,
|
||||
} = PerFrameFunctionalGroupsSequence[0];
|
||||
|
||||
if (!firstOrientation) {
|
||||
console.log('No orientation information');
|
||||
return { value: false };
|
||||
}
|
||||
// TODO - check orientation consistency
|
||||
}
|
||||
|
||||
const frame0 = PerFrameFunctionalGroupsSequence[0];
|
||||
const firstPosition =
|
||||
frame0.PlanePositionSequence || frame0.CTPositionSequence;
|
||||
if (!firstPosition) {
|
||||
console.log('No image position information, not reconstructable');
|
||||
return { value: false };
|
||||
}
|
||||
// TODO - check spacing consistency
|
||||
|
||||
return { value: true };
|
||||
}
|
||||
|
||||
function processSingleframe(instances) {
|
||||
|
||||
@ -57,6 +57,25 @@ window.config = {
|
||||
singlepart: 'bulkdata,video,pdf',
|
||||
},
|
||||
},
|
||||
{
|
||||
friendlyName: 'dcmjs DICOMWeb Server',
|
||||
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
|
||||
sourceName: 'shared',
|
||||
configuration: {
|
||||
name: 'shared',
|
||||
qidoRoot: 'https://domvja9iplmyu.cloudfront.net/dicomweb',
|
||||
wadoRoot: 'https://domvja9iplmyu.cloudfront.net/dicomweb',
|
||||
qidoSupportsIncludeField: false,
|
||||
supportsReject: false,
|
||||
imageRendering: 'wadors',
|
||||
thumbnailRendering: 'wadors',
|
||||
enableStudyLazyLoad: true,
|
||||
supportsFuzzyMatching: false,
|
||||
supportsWildcard: true,
|
||||
staticWado: true,
|
||||
singlepart: 'bulkdata,video,pdf',
|
||||
},
|
||||
},
|
||||
{
|
||||
friendlyName: 'E2E Test Data',
|
||||
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user