Python Scripts
CellMap Flow can be executed from cli commands or programmatically via Python scripts.
First you need to define your model config, which can be ScriptModelConfig, DacapoModelConfig, BioModelConfig or FlyModelConfig. Then you can call Flow.run with the appropriate parameters.
Prerequisites
You should also have access to a valid model checkpoint and appropriate computational resources (e.g., H100 GPUs).
Script
from cellmap_flow.globals import Flow
from cellmap_flow.utils.data import FlyModelConfig
from cellmap_flow.norm.input_normalize import MinMaxNormalizer
queue = "gpu_h100"
charge_group = "CHARGE_GROUP"
model_scale = (8, 8, 8)
checkpoint_path = "../fly_organelles/run07/model_checkpoint_432000"
model_config = FlyModelConfig(
checkpoint_path=checkpoint_path,
channels=["classes"] * 8,
input_voxel_size=model_scale,
output_voxel_size=model_scale,
name="FLY",
)
url = Flow.run(
zarr_path=DATA_PATH,
model_configs=[model_config],
queue=queue,
charge_group=charge_group,
input_normalizers=[
MinMaxNormalizer(min_value=0, max_value=255, invert=False)
],
post_processors=[],
)
print(url)
Explanation
queue: Specifies the job queue (e.g., gpu_h100) used for resource allocation.
charge_group: Accounting group for compute billing.
FlyModelConfig: Configures the model parameters, including voxel size and checkpoint path.
MinMaxNormalizer: Scales input data from [0, 255] to [0, 1].
Flow.run: Launches the inference pipeline and returns a tracking URL.
Output
The script prints a tracking URL to monitor the job or retrieve results.
Note
Ensure DATA_PATH is set to the path of your input Zarr volume before running the script.