Hello,
I have a study that contains a pdf report. In v2 it works as I want it and the pdf file is listed under the study but in v3 it is not!
How can I debug/fix this? could this be related to cornerstone3D?
what is your server?
I am using Orthanc as my server. I run yarn orthanc:up
and yarn dev:orthanc
.
I guess you are getting cors error?
am also experiencing the same cors issues. when are you releasing the docker image for version 3?
@alireza I am not getting any errors in the console nor can I see a failed request in the network tab of the devtools.
the reports are not even listed under the study.
we will fix docker images when v3 is pushed to master. If the reports are not listed under study it might be a metadata problem. For the cors issue you can put a simple nginx in front of orthanc, we have samples in the source code
thanks a lot @alireza , I am learning as I go and I appreciate the support.
my biggest problem now is the pdf reports not showing. do you guys use a specific dicom-validator?
@Hasan-aga, there are changes within the following PR fix(modal and dialogues): fixes as per specifications by jbocce · Pull Request #3438 · OHIF/Viewers · GitHub that might help. You can simply try the pertinent changes by updating your platform\viewer\public\config\local_orthanc.js
file - in particular the bulkDataURI
configuration on about line 35 should be…
bulkDataURI: {
enabled: true,
},
Now this said, instead of running yarn dev:orthanc
try running your OHIF dev server pointing to your local orthanc with something like the following from a command prompt…
set APP_CONFIG=config/local_orthanc.js
yarn start
Hope this helps.
Thanks for the reply @jbocce , I will look into it and report back if it worked for me.
ok I just took a look at what @jbocce pointed at and the pdf reports now work BUT I dont think it has to do with any config that I changed. I think the problem was that the correct config was not being loaded.
anyhow, this command sequence worked for me:
yarn orthanc:up
APP_CONFIG=config/local_orthanc.js yarn start
and this is local_orthanc.js for ref:
console.log("LOCAL CONFIG LOADED");
window.config = {
routerBasename: '/',
extensions: [],
modes: [],
customizationService: {
dicomUploadComponent:
'@ohif/extension-cornerstone.customizationModule.cornerstoneDicomUploadComponent',
},
showStudyList: true,
maxNumberOfWebWorkers: 3,
showLoadingIndicator: true,
showWarningMessageForCrossOrigin: true,
showCPUFallbackMessage: true,
strictZSpacingForVolumeViewport: true,
// filterQueryParam: false,
defaultDataSourceName: 'dicomweb',
dataSources: [
{
friendlyName: 'dcmjs DICOMWeb Server',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
name: 'DCM4CHEE',
wadoUriRoot: 'http://localhost/dicom-web',
qidoRoot: 'http://localhost/dicom-web',
wadoRoot: 'http://localhost/dicom-web',
qidoSupportsIncludeField: true,
supportsReject: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
useBulkDataURI: false,
supportsFuzzyMatching: true,
supportsWildcard: true,
dicomUploadEnabled: true,
},
},
{
friendlyName: 'dicom json',
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
sourceName: 'dicomjson',
configuration: {
name: 'json',
},
},
{
friendlyName: 'dicom local',
namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal',
sourceName: 'dicomlocal',
configuration: {},
},
],
httpErrorHandler: error => {
// This is 429 when rejected from the public idc sandbox too often.
console.warn(error.status);
// Could use services manager here to bring up a dialog/modal if needed.
console.warn('test, navigate to https://ohif.org/');
},
hotkeys: [
{
commandName: 'incrementActiveViewport',
label: 'Next Viewport',
keys: ['right'],
},
{
commandName: 'decrementActiveViewport',
label: 'Previous Viewport',
keys: ['left'],
},
{ commandName: 'rotateViewportCW', label: 'Rotate Right', keys: ['r'] },
{ commandName: 'rotateViewportCCW', label: 'Rotate Left', keys: ['l'] },
{ commandName: 'invertViewport', label: 'Invert', keys: ['i'] },
{
commandName: 'flipViewportVertical',
label: 'Flip Horizontally',
keys: ['h'],
},
{
commandName: 'flipViewportHorizontal',
label: 'Flip Vertically',
keys: ['v'],
},
{ commandName: 'scaleUpViewport', label: 'Zoom In', keys: ['+'] },
{ commandName: 'scaleDownViewport', label: 'Zoom Out', keys: ['-'] },
{ commandName: 'fitViewportToWindow', label: 'Zoom to Fit', keys: ['='] },
{ commandName: 'resetViewport', label: 'Reset', keys: ['space'] },
{ commandName: 'nextImage', label: 'Next Image', keys: ['down'] },
{ commandName: 'previousImage', label: 'Previous Image', keys: ['up'] },
{
commandName: 'previousViewportDisplaySet',
label: 'Previous Series',
keys: ['pagedown'],
},
{
commandName: 'nextViewportDisplaySet',
label: 'Next Series',
keys: ['pageup'],
},
{ commandName: 'setZoomTool', label: 'Zoom', keys: ['z'] },
// ~ Window level presets
{
commandName: 'windowLevelPreset1',
label: 'W/L Preset 1',
keys: ['1'],
},
{
commandName: 'windowLevelPreset2',
label: 'W/L Preset 2',
keys: ['2'],
},
{
commandName: 'windowLevelPreset3',
label: 'W/L Preset 3',
keys: ['3'],
},
{
commandName: 'windowLevelPreset4',
label: 'W/L Preset 4',
keys: ['4'],
},
{
commandName: 'windowLevelPreset5',
label: 'W/L Preset 5',
keys: ['5'],
},
{
commandName: 'windowLevelPreset6',
label: 'W/L Preset 6',
keys: ['6'],
},
{
commandName: 'windowLevelPreset7',
label: 'W/L Preset 7',
keys: ['7'],
},
{
commandName: 'windowLevelPreset8',
label: 'W/L Preset 8',
keys: ['8'],
},
{
commandName: 'windowLevelPreset9',
label: 'W/L Preset 9',
keys: ['9'],
},
],
};
The PDF issue in v3 is a bulkDataURI issue, if the server responds with bulkDATAURI which it should for pdf, we support it
see this
I am using a dicomjson
datasource in OHIF Viewer and encountering an issue where the PDF report format doesn’t load. I have placed my pdf.json
file in the public
folder and am accessing it with a URL structure like this: /viewer/dicomjson?url=[path_to_pdf.json]
.
Below is the content of my pdf.json
file:
{
“studies”: [
{
“StudyInstanceUID”: “2.25.274511628741404487568958573697750835997”,
“StudyDate”: “20240412”,
“StudyTime”: “120235”,
“PatientName”: “Holtz^Robert”,
“PatientID”: “7B23891B-E78E-43DC-AE6C-55AFC72FC51C”,
“AccessionNumber”: “12663940”,
“PatientAge”: “”,
“PatientSex”: “M”,
“Modalities”: “ECG”,
“NumInstances”: 1,
“series”: [
{
“SeriesInstanceUID”: “1.3.6.1.4.1.20029.40.20240412120235.1.1”,
“SeriesNumber”: 1,
“Modality”: “ECG”,
“SliceThickness”: 0,
“instances”: [
{
“metadata”: {
“Columns”: 0,
“Rows”: 0,
“InstanceNumber”: 1,
“SOPClassUID”: “1.2.840.10008.5.1.4.1.1.104.1”,
“PhotometricInterpretation”: “MONOCHROME2”,
“BitsAllocated”: 0,
“BitsStored”: 0,
“PixelRepresentation”: 0,
“SamplesPerPixel”: 0,
“PixelSpacing”: ,
“HighBit”: 0,
“ImageOrientationPatient”: [
1,
0,
0,
0,
1,
0
],
“ImagePositionPatient”: [
0,
0,
0
],
“FrameOfReferenceUID”: “”,
“ImageType”: ,
“Modality”: “ECG”,
“SOPInstanceUID”: “1.3.6.1.4.1.20029.40.20240412120235.1.1.1”,
“SeriesInstanceUID”: “1.3.6.1.4.1.20029.40.20240412120235.1.1”,
“StudyInstanceUID”: “2.25.274511628741404487568958573697750835997”,
“WindowCenter”: 0,
“WindowWidth”: 0,
“SeriesDate”: “”
},
“url”: “dicomweb:https://bytepadstoragedev.blob.core.windows.net/dicom-dev-data/DCM/2.25.274511628741404487568958573697750835997/12663940%20-%2020240412%20-%20160235%20-%20000.dcm?sv=2023-01-03&st=2024-09-01T13%3A59%3A58Z&se=2027-12-31T14%3A00%3A00Z&sr=c&sp=rl&sig=oqZTTck06%2BipiSptCd4i7pmh8Y2A1ikNuB6Rx0%2BC22E%3D”
}
]
}
]
}
]
}
Error Message: Uncaught (in promise) InvalidStateError: Failed to get ServiceWorkerRegistration objects: The document is in an invalid state.
Testing the same DICOM file in viewer-dev.ohif.org/localbasic
displays the PDF correctly, indicating it may be an issue specific to my local setup with OHIF Viewer V3.
Could someone please help identify any setup or configuration steps that could resolve this issue?
Thank you!
we will revisit dicom json in future, can you open an issue for us please?
Hi @alireza,
I have already opened a ticket regarding this issue. You can check it out here: Issue #4444.
Please take a look and resolve it as soon as possible.
Thank you!
We will prioritize it and address the DICOM JSON, but no soon