All Projects → ZFTurbo → volumentations

ZFTurbo / volumentations

Licence: MIT license
Library for 3D augmentations

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to volumentations

deep utils
An open-source toolkit which is full of handy functions, including the most used models and utilities for deep-learning practitioners!
Stars: ✭ 73 (-34.23%)
Mutual labels:  augmentation
spydrnet
A flexible framework for analyzing and transforming FPGA netlists. Official repository.
Stars: ✭ 49 (-55.86%)
Mutual labels:  transformations
RNiftyReg
An R interface to the NiftyReg medical image registration library
Stars: ✭ 32 (-71.17%)
Mutual labels:  transformations
FAST-RIR
This is the official implementation of our neural-network-based fast diffuse room impulse response generator (FAST-RIR) for generating room impulse responses (RIRs) for a given acoustic environment.
Stars: ✭ 90 (-18.92%)
Mutual labels:  augmentation
acts
Haskell library for semigroup actions and torsors
Stars: ✭ 55 (-50.45%)
Mutual labels:  transformations
textaugment
TextAugment: Text Augmentation Library
Stars: ✭ 280 (+152.25%)
Mutual labels:  augmentation
textomatic
Scratchpad for tabular data transformations
Stars: ✭ 27 (-75.68%)
Mutual labels:  transformations
fastai sparse
3D augmentation and transforms of 2D/3D sparse data, such as 3D triangle meshes or point clouds in Euclidean space. Extension of the Fast.ai library to train Sub-manifold Sparse Convolution Networks
Stars: ✭ 46 (-58.56%)
Mutual labels:  3d-augmentation
mix3d
Mix3D: Out-of-Context Data Augmentation for 3D Scenes (3DV 2021 Oral)
Stars: ✭ 183 (+64.86%)
Mutual labels:  augmentation
morphmorph
😱 Isomorphic transformations. Map, transform, filter, and morph your objects
Stars: ✭ 26 (-76.58%)
Mutual labels:  transformations
dot
distributed data sync with operational transformation/transforms
Stars: ✭ 73 (-34.23%)
Mutual labels:  transformations
elm-geometry-svg
Render 2D elm-geometry types as SVG
Stars: ✭ 40 (-63.96%)
Mutual labels:  transformations
polliwog
2D and 3D computational geometry library
Stars: ✭ 22 (-80.18%)
Mutual labels:  transformations
geodesy-php
Geodesy PHP - Port of some known geodesic/math functions for getting distance from a known point A to a known point B given their coordinates. It also supports conversion between units of length, Polar position to Cartesian coordinates, and different Reference Datums.
Stars: ✭ 26 (-76.58%)
Mutual labels:  transformations
imgcrop
Simple image augmentation library focusing on random geometric cropping
Stars: ✭ 27 (-75.68%)
Mutual labels:  augmentation
xslweb
Web application framework for XSLT and XQuery developers
Stars: ✭ 39 (-64.86%)
Mutual labels:  transformations
claw-compiler
CLAW Compiler for Performance Portability
Stars: ✭ 38 (-65.77%)
Mutual labels:  transformations
butterfly
Application transformation tool
Stars: ✭ 35 (-68.47%)
Mutual labels:  transformations
flowage
Easy transformations and filtering for NodeJS object streams.
Stars: ✭ 85 (-23.42%)
Mutual labels:  transformations
CAP augmentation
Cut and paste augmentation for object detection and instance segmentation
Stars: ✭ 93 (-16.22%)
Mutual labels:  augmentation

Volumentations 3D

3D Volume data augmentation package inspired by albumentations.

Volumentations is a working project, which originated from the following Git repositories:

Nevertheless, if you are using this subpackage, please give credit to all authors including ashawkey, ZFTurbo, qubvel and muellerdo.

Initially inspired by albumentations library for augmentation of 2D images.

Installation

pip install volumentations-3D

Simple Example

from volumentations import *

def get_augmentation(patch_size):
    return Compose([
        Rotate((-15, 15), (0, 0), (0, 0), p=0.5),
        RandomCropFromBorders(crop_value=0.1, p=0.5),
        ElasticTransform((0, 0.25), interpolation=2, p=0.1),
        Resize(patch_size, interpolation=1, resize_type=0, always_apply=True, p=1.0),
        Flip(0, p=0.5),
        Flip(1, p=0.5),
        Flip(2, p=0.5),
        RandomRotate90((1, 2), p=0.5),
        GaussianNoise(var_limit=(0, 5), p=0.2),
        RandomGamma(gamma_limit=(80, 120), p=0.2),
    ], p=1.0)

aug = get_augmentation((64, 128, 128))

img = np.random.randint(0, 255, size=(128, 256, 256), dtype=np.uint8)
lbl = np.random.randint(0, 1, size=(128, 256, 256), dtype=np.uint8)

# with mask
data = {'image': img, 'mask': lbl}
aug_data = aug(**data)
img, lbl = aug_data['image'], aug_data['mask']

# without mask
data = {'image': img}
aug_data = aug(**data)
img = aug_data['image']

Difference from initial version

  • Diverse bug fixes.
  • Implemented multiple augmentations.
  • Approximation enhancements to be closer to Albumentations.

Implemented 3D augmentations

PadIfNeeded
GaussianNoise
Resize
RandomScale
RotatePseudo2D
RandomRotate90
Flip
Normalize
Float
Contiguous
Transpose
CenterCrop
RandomResizedCrop
RandomCrop
CropNonEmptyMaskIfExists
ResizedCropNonEmptyMaskIfExists
RandomGamma
ElasticTransformPseudo2D
ElasticTransform
Rotate
RandomCropFromBorders
GridDropout
RandomDropPlane
RandomBrightnessContrast
ColorJitter

Citation

For more details, please refer to the publication: https://doi.org/10.1016/j.compbiomed.2021.105089

If you find this code useful, please cite it as:

@article{solovyev20223d,
  title={3D convolutional neural networks for stalled brain capillary detection},
  author={Solovyev, Roman and Kalinin, Alexandr A and Gabruseva, Tatiana},
  journal={Computers in Biology and Medicine},
  volume={141},
  pages={105089},
  year={2022},
  publisher={Elsevier},
  doi={10.1016/j.compbiomed.2021.105089}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].