How can I load a DICOM image from a VTK.js not using itk-wasm?

Hi, all

In the back-end environment, the DICOM file was entered via ITK python and a 3D image (.nrrd, .mha…) was created.

Assuming using the REST API, is there a way to read the ITK generated Image Binary Data without itk-wasm?

I am sorry that my English is not good.

Thanks always.


In conclusion,
I want to read DICOM through ITK in Back End and send output to Front End to show 3D image in Front End.

itk-wasm is necessary if you want to read NRRD, MHA, NIFTI, etc. vtk.js only supports reading VTI image otherwise.

One other alternative is to send the pixel buffer plus the image metadata (dimensions, origin, spacing, orientation/direction) and then reconstruct it on the client. In fact, if you grep through the vtk.js examples, you will see examples that use LIDC2.vti, which is broken down into a metadata file and a gzipped pixel buffer.

1 Like

@Forrest Thank you for your answer.

By the way, can I express the volume with a VTI image?

Do I have to read and write DICOM directly in the metadata composition part?

You can almost express a volume with VTI. Unfortunately, VTI has no fields for specifically storing image orientation, which is a crucial bit of info for DICOM images. Hence you will need to transmit just the orientation information in a separate manner if you opt to use VTI.

1 Like

@Forrest, isn’t Direction the way to store image orientation in VTI?

1 Like

Oh, good point. I forgot that was added to the reader. In that case, VTI works just fine.

1 Like

Thanks to you, I was able to express the volume image through .vti!

Do you happen to lose metadata when converting DICOM to .vti format? (critical? fatal? data loss)

I want to implement 3D expression and cross-sectional image (coronal, sagittal, axial), but I wonder if it is possible.

The above question is probably a question that came out because I did not properly understand the metadata of DICOM.

I’m sorry that’s a stupid question.

Thank you always.

DICOM has a lot of different metadata information, so yes there is metadata loss. If you just want 3D + 3 slice view, all you should need is the direction matrix.

1 Like

Thank you.
I feel like the puzzle has finally been put together.