Modosaic¶
Modosaic is a multimodal image-dataset pipeline for generating, validating, and saving complementary modalities from a shared image source. It provides:
- Dataset loading from local folders and parquet files or directories.
- Preconfigured pipelines for source images, captions, segmentation masks, depth maps, and surface normals.
- Validators and quality-gate constraints for filtering generated artifacts.
- Experiment output folders containing artifacts, validation JSON, and logs.
- A CLI for default, configurable, and config-file driven runs.
- A Python API for custom generators, validators, postprocessors, and modality compositions.
Installation¶
uv sync
or:
pip install -e .
or:
pip install modosaic
Python 3.13 is required. CUDA is optional but recommended for model-backed generation and validation.
Quick Start¶
List the supported modalities and model names:
modosaic models
Run the default pipeline on a local image folder:
modosaic simple ./images --limit 10
Run from a config file:
modosaic pipeline examples/config.yaml --limit 5 --seed 123
Python API¶
from modosaic import ExperimentService, ImageDataset, Pipeline
from modosaic.depth.preconfigured_modality import build_preconfigured_depth_modality
from modosaic.image import build_preconfigured_image_modality
from modosaic.segmentation.preconfigured_modality import (
build_preconfigured_segmentation_modality,
)
dataset = ImageDataset.from_local_folder("images")
pipeline = Pipeline(
dataset=dataset,
modalities=[
build_preconfigured_image_modality(),
build_preconfigured_segmentation_modality(),
build_preconfigured_depth_modality(),
],
experiment=ExperimentService(experiment_name="demo"),
)
results = pipeline.run(limit=10)
Concepts¶
- Providers load
ImageRecordobjects from dataset backends. - Generators produce modality outputs from an input image record.
- Validators score generated outputs, optionally using earlier modalities.
- Constraints turn validator scores into pass/fail quality gates.
- Postprocessors convert accepted outputs into experiment artifacts.
ExperimentServicesaves artifacts below the configured run folder.
The API reference is generated from Google-style docstrings in the package.