Frequently asked questions

Requirements

What are the minimum system requirements?

The minimum system requirements are determined in large part by the VR device. Please consult the respective VR device page. For Quest devices, see the Quest Link minimum requirements. For Pico devices, see the Streaming minimum requirements. For any device, also see the SteamVR minimum requirements.

Which VR devices are supported?

Any VR device which supports OpenXR/OpenVR and SteamVR that is connected to a local machine.
Brainacle has been tested with the following devices:

What is the supported range of measurements?

Supported are any metric units multiple of 103 in the range from 10-30 to 1030. To denote a unit, the full name or the two-letter symbol with regards to meters can be used, e.g., millimeter, millimetre, or mm. In case of other units, please let us know!

What are the terms of using Brainacle?

Using Brainacle is permitted free of charge. By installing, copying or otherwise using the Brainacle research software, any user(s) agree not to sell, rent, lease, sublicense, modify, decompile, disassemble, or reverse engineer the software or parts of it, except and only to the extent permitted by applicable law. The software is provided "AS IS" without warranty of any kind.

Any use of Brainacle, including but not limited to training AI models, is therefore subject to the restrictions listed above.

The BrainacleJ plug-in, as well as any of the ImageJ macros, are licensed under GPL v3. The source code of BrainacleJ is available upon contact.

Error messages and issues

SteamVR: Could not initialize OpenVR. Error code: init_PathRegistryNotFound

1) Install SteamVR.
2) Ensure SteamVR is configured as the OpenXR environment the error message may be shown. To have OpenVR initialized by SteamVR:

SteamVR > Settings > Developer: Set SteamVR as OpenXR Runtime

SteamVR: Headset Display Disconnected | OpenVR: Error code: Driver_HmdDisplayNotFound

For Quest devices, ensure Quest Link is set up and Quest Link is running inside the headset.

1) Install Meta Quest Link.
2) Connect the headset to your local machine by using a data USB cable (no charging cable; 3.0 USB port), or by using Air Link (Wi-Fi).
3) Add your Quest to the list of connected devices in the Meta Quest Link app:

Devices > Add Headset
4) Launch Quest Link inside the headset, for example:
Settings > System > Quest Link > Launch Quest Link

Brainacle seems unresponsive after selecting add data from Settings

The application is waiting because a file dialog window is open on the desktop. The desktop can be accessed by:

  • using the SteamVR menu (or, e.g., Quest Link menu) navigation, through a corresponding controller button,
  • going back to the desktop after removing the headset.

Touch controllers: Tracking issues?

The Touch controllers may remain temporarily on the ground (at origin) during environment initialization. It is important the headset sees each controller.
For the Quest Pro, Wi-Fi should be always enabled in the headset, even though not connected; each controller communicates over Wi-Fi with the headset.

I see a black screen and cannot proceed using Quest Link

This may happen when Quest Link disconnects, e.g. if the tethering cable disconnects. To recover and reconnect, quickly press the Oculus button on your right Touch controller five times in a row to open bug reporting. Close bug reporting and reconnect to your PC from the Quest Link menu inside the Quest.

How to quit Brainacle inside VR?

While in VR, use the corresponding option in Settings: Quit icon

Data processing

Is there an example dataset?

A synchrotron micro-CT tomographic brain scan of an individual of the species Neolamprologus multifasciatus is provided as an example. This is available in the dataset to the publication:

Garkov, D., Lein, E., Kielkopf, N., Dullin, C., Klein, K., Sommer, B., Jordan, A., Schreiber, F., 2025, "Software and Data for: Interactive delineation and quantification of anatomical structure with virtual reality", https://doi.org/10.18419/DARUS-4779, DARUS.

How can I prepare data for volume rendering?

You can use Fiji/ImageJ and the NIfTI Input/Output plugin to convert an image sequence to a NIfTI image stack that is accepted by Brainacle.

  1. Import the image sequence: File > Import > Image Sequence...
  2. Optionally, remove any empty slices, e.g., reimport the image sequence after adjustment of the number of images and the starting image.
  3. Depending on performance, you can uniformly scale images to a percentage of their original size. This can be done in ImageJ: Image > Scale..., where X, Y, Z are set to the same value, and interpolation set to bicubic.
  4. Export the image sequence as NIfTI: File > Save as... > NIfTI-1.
  5. Optionally, the NIfTI file can be reimported in Fiji/ImageJ to perform any necessary image operations. For example, to enhance contrast: Process > Enhance Contrast..., and set the value to 0.1% (no other settings). The file can then be overwritten.

Steps to calibrate measurements (volume rendering)

  1. Create a text file of the same name as the volumetric data. The file extension is less important, any except .json, .csv, .obj, .xyz. It could, for example, be .vxs.
  2. Place the file in the same directory as the volumetric data.
  3. Add the following line in the file: Voxelsize: [voxel size] [voxel unit], where [voxel size] is a number, and [voxel unit] a SI unit of length.
  4. Start Brainacle and load the given volumetric data.

Steps to calibrate measurements (isosurface mesh)

After creating an isosurface mesh from an image sequence in ImageJ/Fiji, the Export function provided as part of the BrainacleJ plugin may be used to calibrate the isosurface mesh for measurements in Brainacle.

To do this, go to File > Export > Surface Mesh. A meta .obj file (.mobj) is created alongside the surface mesh written in a Wavefront file (.obj). For Brainacle to recognize the meta file, this needs to be in the same directory as the surface mesh file.

What are the default units of measurements?

Without calibration, distances are measured by default in px (pixels) for volume renderings, and in m (meters) for surface meshes. Volume measurements are performed in vx (voxels) and in m3 (usually), respectively.

ImageJ macros — what for and how to set up?

For interoperability with software such as ImageJ and Fiji, a minimal set of ImageJ macros provide the following functionality:

  • Import coordinates from Brainacle to ImageJ. Delineations are imported as separate selections in the ROI Manager.
  • Export coordinates from ImageJ to Brainacle. ROI selections are exported as delineations (points).*
To install these:
  1. Place Import_Export_Coordinates.ijm in the Fiji.app/macros/ folder.
  2. Place Install_Macros.ijm in the Fiji.app/macros/AutoRun folder.
  3. The macros will be automatically installed each time Fiji/ImageJ is started.
*While Brainacle has a mechanism to differentiate between point and line coordinates in the CSV file, the export from ImageJ (currently) does not, therefore these coordinates are imported as points.

Depending on whether voxel rotations (non-orthogonal X or Y) were applied, image space coordinates may not map readily onto image slices.

What does Enable Light mean for volume rendering?

The setting enables interaction with light sources from the environment (directional light) during rendering of volumetric data. Beware, the setting introduces a slight offset, e.g., orthoplane thickness, such that the viewer can at once see the current and few slices ahead. Depending on the use case, light interaction may be useful for visual communication and presentation as compared to delineation.

Certain other settings, Threshold in particular, require Enable Light to work as expected.

What data is collected by Brainacle?

Brainacle does not collect any data itself. Brainacle is developed and built with Unity. Unlike execution inside the Unity Editor, a binary executable has the advantage to have data collection configured for all users. We aim to exclude any Unity functionality for data collection: no services are configured, and default telemetry events have been disabled by using a non-personal Unity account to build each release.