Skip to main content

sp



Sinapsis Albumentations

Templates for applying image transformations using Albumentations.

🐍 Installation • 🚀 Features • 📚 Usage example • 📙 Documentation • 🔍 License

The Sinapsis albumentations module provides an extensive collection of templates powered by the Albumentations library. These templates allow users to apply a wide range of augmentations, from simple operations like flipping and resizing to more advanced transformations such as elastic distortions and geometric warping.

🐍 Installation

Install using your package manager of choice. We encourage the use of uv

Example with uv:

  uv pip install sinapsis-albumentations --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-albumentations --extra-index-url https://pypi.sinapsis.tech

🚀 Features

Templates Supported

[!TIP] Use CLI command sinapsis info --all-template-names to show a list with all the available templates installed with the sinapsis-albumentations package.

🌍 General Attributes

[!NOTE] All templates share the following attributes:

  • apply_to_annotations (bool, optional): Determines whether transformations should also be applied to annotations like bounding boxes, keypoints, and masks. Defaults to False.
  • bbox_params (dict[str, Any], optional): Configuration for transforming bounding boxes, following Albumentations' BboxParams format. Defaults to None.
  • keypoints_params (dict[str, Any], optional): Defines keypoint transformation settings using Albumentations' KeypointParams. Defaults to None.
  • additional_targets (dict[str, Any], optional): Specifies extra annotation types (e.g., segmentation masks) to be transformed alongside the image. Defaults to {"mask": "mask"}.

Additional transformation-specific attributes can be dynamically assigned through the class initialization dictionary (*_init attributes). These attributes correspond directly to the arguments used in Albumentations.

[!TIP] Use CLI command sinapsis info --example-template-config TEMPLATE_NAME to produce an example Agent config for the Template specified in TEMPLATE_NAME.

For example, for RotateWrapper use sinapsis info --example-template-config RotateWrapper to produce the following example config:

agent:
  name: my_test_agent
templates:
- template_name: InputTemplate
  class_name: InputTemplate
- template_name: RotateWrapper
  class_name: RotateWrapper
  template_input: InputTemplate
  attributes:
    apply_to_annotations: false
    bbox_params: null
    keypoints_params: null
    additional_targets:
      mask: mask
    rotate_init:
      limit: [-45, 45]
      interpolation: 1
      border_mode: 4
      value: [0, 0, 0]
      mask_value: null
      rotate_method: "largest_box"
      crop_border: false
      fill_value: 0
      mask_fill_value: 0
      deterministic: true
      p: 1.0

📚 Usage example

The following example demonstrates how to use Sinapsis Albumentations to apply multiple image augmentations. This setup loads a dataset of images, applies horizontal flipping and elastic transformation, and saves the results. Below is the full YAML configuration, followed by a breakdown of each component.

Example configuration
agent:
  name: transforms_agent
  description: "Agent to apply an horizontal-flip and an elastic-transformation to a set of images loaded from a directory."

templates:
- template_name: InputTemplate
  class_name: InputTemplate
  attributes: {}

- template_name: FolderImageDatasetCV2
  class_name: FolderImageDatasetCV2
  template_input: InputTemplate
  attributes:
    data_dir: my_dataset

- template_name: HorizontalFlip
  class_name: HorizontalFlipWrapper
  template_input: FolderImageDatasetCV2
  attributes:
    horizontalflip_init:
      p: 1.0

- template_name: ElasticTransform
  class_name: ElasticTransformWrapper
  template_input: HorizontalFlip
  attributes:
    elastictransform_init:
      mask_value: 150
      p: 1.0
      alpha: 100
      sigma: 50

- template_name: ImageSaver
  class_name: ImageSaver
  template_input: ElasticTransform
  attributes:
    save_dir: results
    extension: jpg

This configuration defines an agent and a sequence of templates to apply image transformations.

[!NOTE] Attributes specified under the *_init keys (e.g., elastictransform_init, horizontalflip_init) correspond directly to the Albumentations transformation parameters. Ensure that values are assigned correctly according to the official Albumentations documentation, as they affect the behavior and performance of each transformation.

[!IMPORTANT] The FolderImageDataserCV2 and ImageSaver correspond to sinapsis-data-readers and sinapsis-data-writers. If you want to use the example, please make sure you install the packages.

To run the config, use the CLI:

sinapsis run name_of_config.yml

📙 Documentation

Documentation for this and other sinapsis packages is available on the sinapsis website

Tutorials for different projects within sinapsis are available at sinapsis tutorials page

🔍 License

This project is licensed under the AGPLv3 license, which encourages open collaboration and sharing. For more details, please refer to the LICENSE file.

For commercial use, please refer to our official Sinapsis website for information on obtaining a commercial license.

Metadata

Release files for sinapsis-albumentations 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sinapsis-albumentations 0.1.9
File Size Uploaded
sinapsis_albumentations-0.1.9.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sinapsis-albumentations 0.1.9
File Interpreter ABI Platform
sinapsis_albumentations-0.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 42.7 kB

Release files / sinapsis_albumentations-0.1.9.tar.gz

Download URL sinapsis_albumentations-0.1.9.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b10d382e346a11632130914994c4445454656a7638102580eac71db3fdcef789
BLAKE2b-256 checksum
How to use checksums
7e5f6dfaf49c7ce298365f549dbbfda151e4d8ca3eeb725709ab259b53da7383
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.16

Release files / sinapsis_albumentations-0.1.9-py3-none-any.whl

Download URL sinapsis_albumentations-0.1.9-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6268ca158c731297281e5794fa6f4e2667e7cf473f0e056d8a09fc7a1063a41
BLAKE2b-256 checksum
How to use checksums
6add4195b22bf5c7f73f5771d231f2c0e95a5e9768ad260d47cf60106d8ae114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.16

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page