Workflows
lls_core
supports integration with napari-workflows
.
The advantage of this is that you can design a multi-step automated workflow that uses lls_core
as the pre-processing step.
Building a Workflow
You can design your workflow via GUI using napari-assistant
, or directly in the YAML format.
If you want to use YAML, you also have to make sure that the first workflow step to run takes deskewed_image
as an input.
For example:
!!python/object:napari_workflows._workflow.Workflow
_tasks:
median: !!python/tuple
- !!python/name:pyclesperanto_prototype.median_sphere ''
- deskewed_image
- null
- 2
- 2
- 2
Workflows are run once for each 3D slice of the image. The workflow is run separately for each timepoint, for each channel, for each region of interest (if cropping is enabled).So, you should design your workflow expecting that deskewed_image
is a 3D array.
If you want to define your own custom functions, you can do so in a .py
file in the same directory as the workflow .yml
file. These will be imported before the workflow is executed.
Workflows can be built in many ways:
-
Interactive_(no code)
We will use napari-assistant to interactively generate workflows in napari. Requires no coding!
-
Programmatically
Alternatively, we can generate workflows programmatically using jupyter notebooks. This is more powerful and you can integrate many popular software tools. Jupyter notebooks