gdcc / dataverse-previewers

A collection of Datafile Previewers that can be configured to work with Dataverse
MIT License
5 stars 15 forks source link

Support for 3D image and model file formats #55

Open PaulBoon opened 4 months ago

PaulBoon commented 4 months ago

Besides in the technical siences 3D data files are used in biomedical studies and even in humanities like archaeology. For the medical studies that will mostly be 3D volume data like CT-scans and MRI-scans. In Archaeology that will be 3D models for virtual reconstructions and object or excavation (Laser) scans or from photogrammetry.

Like with 2D images, a previewer for 3D images or models (analog to drawings) would be a great addition to Dataverse.

kamil386 commented 3 months ago

Medical CT scans can work as in this example: https://dataverse.openforestdata.pl/dataverse/ct https://dataverse.openforestdata.pl/dataset.xhtml?persistentId=doi:10.48370/OFD/8FRUXA

Click on "Explore button" on .swf file extension. Shockwave Flash is still alive in 2024 ;)

PaulBoon commented 3 months ago

@kamil386 Looks great, seems to be a derived file for previewing purpose; some sort of dissemination copy in archival terms. This also reminds me that Dataverse supports three forms of file 'previewing', the thumbnail, the preview (in the DV page), and the 'explorer', outside the DV page. My goal was implementing the preview, using a relatively simple 'ready to use' Javascript based tool. There are tools to do volume rendering in the browser (vtk.js) and it would be good to have a look at that so that we are not bound by derived (mostly reduced) files. These derived files are certainly helpful, especially for large files, in this case depositors should add them to allow potential 'downloaders' to make an informed decision.

PaulBoon commented 3 months ago

The requirements for a previewer would be that is must be simple to use (viewing/inspecting) and show the model initially after loading the file without much extra coding. Ideally it would be just including a Javascript file and use it by calling a 'load' function.

My first attempt is doing this with the X_ITE viewer; the PR is here: https://github.com/gdcc/dataverse-previewers/pull/56

It might be possible to use another viewer with not to much coding effort, most promising is this one https://kovacsv.github.io/Online3DViewer. When I have something working a PR will follow.