descaniverse is a Python library and CLI tools for reading and converting Scaniverse raw data. The data format is reverse engineered¹ and thus all data is not necessarily available.
Scaniverse optionally records "raw data". This has to be enabled for this to work. Non-raw data can be mostly exported directly from the app.
Scaniverse doesn't support exporting raw data and it can't be read from the device using the usual
tools (e.g. ifuse) to read files from iPhone/iPad¹.
However, the data can be accessed by creating a backup of the device¹ (using idevicebackup2)
and extracting it using ideviceunback¹. The scans
can be found in /Library/Application Support/scans/
of the extracted backup.
Alternatively, you can probably access these easily on jailbroken¹ device. If you know a nicer way to access these files (without jailbreak), please leave an issue.
pip install git+https://github.com/jampekka/descaniverse
A CLI interface is included as descaniverse
runnable.
usage: descaniverse [-h] {to_json,to_nerfstudio} ...
positional arguments:
{to_json,to_nerfstudio}
to_json Converts Scaniverse metadata as-is to JSON
to_nerfstudio Converts a Scaniverse scan to nerfstudio format
optional arguments:
-h, --help show this help message and exit
1.
Aren't walled gardens, closed source, DRM, war on general purpose computing etc. great?
If you think you need the LiDAR data (you probably don't if you do something like NeRF or photogrammetry), iPhone/iPad seems to be unfortunately the only (integrated) option at the moment. Open Source alternatives to Scaniverse are ScanKit or RTAB-Map. Polycam is closed source (and nagware), but at least it lets you access your data.
A good alternative is to use Android and some ARCore/Tango recorder like RTAB-Map. The LiDAR is mostly a gimmic anyway, with quite poor resolution, accuracy and range.