0.3.5
What is Kaapana?
Installation Guide
User Guide
Development Guide
Introduction
Developing Workflows
Developing Applications
Existing Operators
Advanced: How Kaapana uses Helm
Best Practices
Frequently Asked Questions (FAQ)
Publications & Citation
Changelog
License & Copyright Notices
Glossary
Acknowledgments
Contact
Kaapana
Development Guide
View page source
Development Guide
Introduction
List of the technologies
Requirements
Developing Workflows
Introduction
Write your first own DAG
Write a DAG that utilizes a new processing algorithm
Step 1: Provide an empty base image
Step 2: Create the operator and the DAG
Step 3: Start the workflow and implement the algorithm
Step 4: Adjust the base image from step 1 to execute the processing script
Alternative: Develop the workflow locally
Provide a workflow as an extension
Step 1: Create, build and push a docker image to containerize the processing algorithm
Step 2: Create, build and push a docker image for the workflow’s Airflow DAG
Step 3: Create the helm chart
Step 4: Add extension to the platform
Debugging
Syntax errors
Operator errors during execution
Developing Applications
Introduction
Deploy a Flask Application on the platform
Step 1: Create and run our Flask app locally
Step 2: Create a Docker container with the Flask application
Step 3: Write the Kubernetes deployments
Step 4: Write a helm chart
Step 5: Provide the application as an extension
Existing Operators
Base operators
KaapanaBaseOperator
KaapanaPythonBaseOperator
KaapanaApplicationOperator
DICOM operators
Bin2DcmOperator
Dcm2MetaJsonConverter
DcmConverterOperator
DcmModifyOperator
DcmQueryOperator
DcmSeg2ItkOperator
Json2DcmSROperator
LocalDcm2JsonOperator
LocalDcmAnonymizerOperator
Mask2nifitiOperator
Pdf2DcmOperator
File-based operators
LocalConcatJsonOperator
ZipUnzipOperator
NIFTI and nrrd operators
MergeMasksOperator
Itk2DcmOperator
Itk2DcmSegOperator
PyRadiomicsOperator
ResampleOperator
Opensearch operators
LocalDeleteFromMetaOperator
LocalJson2MetaOperator
Service operators
GenerateThumbnailOperator
LocalAddToDatasetOperator
LocalAutoTriggerOperator
LocalCleanUpExpiredWorkflowDataOperator
LocalCtpQuarantineCheckOperator
LocalServiceSyncDagsDbOperator
Store operators (MinIO and PACS)
DcmSendOperator
LocalDeleteFromPacsOperator
LocalDicomSendOperator
LocalGetRefSeriesOperator
LocalMinioOperator
LocalTaggingOperator
Uncategorized operators
LocalDagTriggerOperator
TrainTestSplitOperator
Workflow management operators
GetZenodoModelOperator
LocalGetInputDataOperator
LocalWorkflowCleanerOperator
Advanced: How Kaapana uses Helm
How Kaapana uses Helm charts
Useful Commands
Chart Dependency Tree
Best Practices
Writing Dockerfile
Base images
Labels
Package managers: apt, apk
Installation of python packages:
pip
install
Utilizing Multi-Stage Dockerfiles
General Guidelines
Example of a Kaapana Dockerfile for a workflow
Code Formatting
Black Code Formatter
Installation
Usage
Pre-commit hook