Introduction
As part of an image analysis pipeline users will often use voxel operations. These operations modify the pixel intensities in some ways. This can be useful for a variety of reasons, both functional (allowing better segmentation) and esthetic (denoising to make the image look better). Since arivis Vision4D has been built to be RAM independent this means that instead of storing the results of such operations in the computer memory until such time as the user chooses to use them, the modified images must be stored on the hard disk and the Result Storage describes how the pipeline should store the images beyond the end of the pipeline, but also how segmented objects are kept relative to those images.
Central to the implementation of voxel processing in Vision4D is the concept of what we call lanes. That is, operations move the input along a lane to be used later and progress further as the pipeline progresses. Each channel has its own lane and those lanes run in parallel in the pipeline, with most operations typically moving one lane along at a time but with the possibility of processing multiple lanes simultaneously. Typically this means that once an image has been modified, it is the modified result that used for later operations that call on that specific channel. As of Vision4D 3.4, it is also possible to use the previous state of a channel rather than just the latest version along that lane and this is described in the Advanced Result Storage options section below. some operations, like channel math, can be used to create new lanes.
Another important point regarding image processing pipelines is that Vision4D will not overwrite the original image data unless the user specifically requests it. Instead, the default behavior is to store channel operation results in temporary documents that are used for the purposes of the pipeline and discarded once the pipeline execution is complete, though the results of the operations can be stored permanently if needed.