Large data
Microscopy data is often very large, Microscopy Nodes has some strategies to deal with this. These depend on the size of the data, the shape of the data, and your computational resources (and skills). The key of this is working at a smaller scale, and then reloading to larger data.
Here it is relevant to distinguish between two types of large data:
-
Time sequence/few channels (not loading all data in the same timeframe)
This mostly has issues in storage, and is more a point of only loading the data you need at a certain point, but will always just work.
-
Large data that's all concurrently loaded
This becomes a bigger issue, especially with the current 4 GiB limit of EEVEE.
EEVEE cannot handle large data
EEVEE currently cannot handle volumetric data over 4 GiB. This means that scaling up our data will be easier in Cycles. By default after loading, the render engine is set to Cycles.
Cycles is only applied to the view if the shading preview is set to Rendered preview.
There are a few strategies:
Working at large scale
You can actually work at large scales, as long as you have enough and take care to work only in Cycles:
Some workspaces will automatically be in Material preview mode. It is convenient to first go through the different workspaces and switch them all to Rendered preview.
Reloading
The reloading workflow means that you first work on a smaller version of the data and later replace this with a larger one.
This is controlled mainly by the Reload field in the
Microscopy Nodes load panel:
This can be pointed to a previously loaded Microscopy Nodes holder object:
Which will make a new action Reload the data in the holder. This has two extra options:
-
Overwrite data
Changes out the underlying data (labelmasks are currently always regenerated)
-
Overwrite settings
Overwrites all settings from the load panel, but retains anything set by the user, this includes input location/transform, emission, and color
For reloading to deal with large data, it is usually best to reload only updating the underlying data to the higher resolution.
Reloading on workstation or cluster
It is possible to make a project on a less capable computer, and then transfer it to a workstation or an HPC cluster. This can be done in multiple ways:
- Transfering with data
Easiest to do with your data loaded 'With Project' in the extra import settings, then it is an easy matter of transferring the .blend file and the data folder next to it to this computer.
- Reloading from a GUI
- Reloading from the command line
Reloading from the command line
To replace your data from the command line interface, you set up all the reloading and import settings in the GUI (this currently works best with Overwrite settings off) and run a headless python script that looks like this:
import bpy
bpy.ops.microscopynodes.load_background()
bpy.ops.wm.save_mainfile()
/path/to/Blender/executable -b /path/to/blendfile.blend -P /path/to/reload_script.py
This will then load the data according to the Microscopy Nodes settings, and resave the .blend file.
You can subsequently render headlessly as well, here you can follow the Blender documentation on this.