At Cornerstone3D, we have recently added support for 4D data reading (demo here), but I’m looking to add a smaller demo that is not as huge as the one we use right now and beating heart is always a nice demo for 4D.
Can anyone from SlicerHeart team help me with some DICOM data?
We have recently published 4D cardiac US and a 3D cardiac CT in NRRD format in SlicerHeart Sample Data, but right now we don’t have any publicly shareable 4D cardiac CT in DICOM format. I haven’t come across any public repository for them either, but I haven’t searched.
Note that the CTs in the Slicer core Sample Data sets are very small, downscaled versions. Size of a typical 4D CT heart series is between 800MB and 6GB (512x512 pixels, 400-800 slices, 10-20 time points).
Yeah, the browser can handle the 6GB memory and even more (assuming the machine has capacity). Based on our experiments:
Browser can store at max 2GB memory per array buffer (the only way we can push it is through webAssembly memory, but one series in 4D is hardly more than 2GB as I have seen)
You can have as many array buffers as your Chrome & RAM permits. We created a demo here (https://arraybuffer.netlify.app/) to see how many array buffers you can allocate on your machine and the total amount of memory.
For my 16GB Mac it is
which means
mine is like
browser can store 8000 1MB array buffer
71 of 200 MB buffers
….
and totally in most cases (except the 1MB for some weird reason), it can reach the 16GB of my RAM.
So as long as each time point is not great than 2GB we are fine in web, and I expect some advanced caching to disk can happen if there are MANY timepoints,.