Metadata-Version: 2.1
Name: voxelmentations
Version: 0.0.1
Summary: A PyTorch library for augmentations of 3d data.
Home-page: https://github.com/rostepifanov/voxelmentations
Download-URL: https://github.com/rostepifanov/voxelmentations/tags
Author: Rostislav Epifanov
Author-email: rostepifanov@gmail.com
License: MIT
Keywords: voxelmentations,augmentation,deep learning,three dimensional data
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.7.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy >=1.20.0
Requires-Dist: scipy >=1.10.1
Requires-Dist: opencv-python-headless >=4.1.1
Provides-Extra: tests
Requires-Dist: pytest ; extra == 'tests'

# Voxelmentations

![Python version support](https://img.shields.io/pypi/pyversions/voxelmentations)
[![PyPI version](https://badge.fury.io/py/exgment.svg)](https://badge.fury.io/py/voxelmentations)
[![Downloads](https://pepy.tech/badge/exgment/month)](https://pepy.tech/project/voxelmentations?versions=0.0.*)

Voxelmentations is a Python library for 3d image (voxel) augmentation. Voxel augmentation is used in deep learning to increase the quality of trained models. The purpose of voxel augmentation is to create new training samples from the existing data.

Here is an example of how you can apply some augmentations from voxelmentations to create new voxel from the original one:

## Table of contents
- [Authors](#authors)
- [Installation](#installation)
- [A simple example](#a-simple-example)
- [List of augmentations](#list-of-augmentations)
- [Citing](#citing)

## Authors
[**Rostislav Epifanov** — Researcher in Novosibirsk]()

## Installation
Installation from PyPI:

```
pip install voxelmentations
```

Installation from GitHub:

```
pip install git+https://github.com/rostepifanov/voxelmentations
```

## A simple example
```python
import numpy as np
import voxelmentations as V

# Declare an augmentation pipeline
transform = V.Sequential([
    V.Flip(p=0.5),
])

# Create example 3d image (height, width, depth, nchannels)
input = np.ones((32, 32, 32, 1))

# Augment exg
transformed = transform(voxel=input)
output = transformed['voxel']
```

## List of augmentations

The list of transforms:

- [Flip]()
- [AxialFlip]()
- [AxialPlaneFlip]()
- [AxialPlaneDropout]()
- [AxialPlaneRotate]()
- [AxialPlaneScale]()
- [AxialPlaneAffine]()

## Citing

If you find this library useful for your research, please consider citing:

```
@misc{epifanov2024exgment,
  Author = {Rostislav Epifanov},
  Title = {voxelmentations},
  Year = {2024},
  Publisher = {GitHub},
  Journal = {GitHub repository},
  Howpublished = {\url{https://github.com/rostepifanov/voxelmentations}}
}
```
