Introduction¶
What is XamFlow?¶
A system for the handling of full image analysis workflows.
A platform for basically any kind of image processing software, including advanced machine learning models.
A scalable client-server system with a central database.
Suitable for both small and large studies.
Available on Windows, and processing also on Linux.
It is designed to work with any image modalities and formats.
Supported use cases¶
XamFlow was initially designed for bone research with micro-CT images, but has also been applied successfully in many other disciplines (including cell biology, geology, battery research, snow research, material science) and modalities (including XRM, Synchrotron, FL, LSFM and SEM microscopes, FIB-SEM, qBEI, AFM, EDX, OCT, Raman, FTIR).
See Bone Analysis and Case Studies for more information.
How to use XamFlow?¶
You always start in the Home tab. The Home tab contains all the available projects. Projects contain workflows.
Workflows can be interactively created from scratch or from existing templates. Workflows contain multiple tasks (in a simple sequence or a graph with more complex connections). They can be applied to any number of images or other objects, and run repeatedly to produce reproducible results. For example a workflow can process each image in a folder separately with the same steps and parameters.
Workflow results can be viewed and analyzed directly or exported to external systems. All parameters and results are retained for traceability purposes and easily accessible.
See User Guides for more information.
What are tasks?¶
Tasks are steps in a workflow and can be a mix of interactive tasks and processing tasks.
Interactive tasks are user-friendly manual steps that need to be performed. For example:
Selecting a volume-of-interest in an image.
Rotating an image.
Drawing a contour or segment labels.
Selecting threshold values.
Placing landmark markers.
Measuring distances.
Registering images.
Approving a result.
…
Processing tasks are scripted and automatic and can use and mix any image processing libraries. For example:
NumPy
SciPy
ITK
OpenCV
PyTorch
TensorFlow
R
MATLAB
ImageJ
IPL
CUDA
Custom scripts or compiled code in any language
…
Processing tasks can be executed in parallel, distributing the workload on multiple worker nodes. Many basic and advanced processing task types are available by default, including various machine learning models. New processing task types can be added or modified while the system is running.
See Task Types Overview, Machine Learning and Advanced Guides for more information.
What are workers?¶
Processing tasks are running on workers. By default one local worker is running, but additional workers can be added to process workflows on a cluster of computers. See Worker Configuration for more information.
The system can be run on one local computer in isolation. Or multiple users can connect to a central local self-hosted server, to allow concurrent collaboration on workflows, and sharing of data, workflows and computer resources. See XamFlow Server for more information.