{"id":21410924,"url":"https://github.com/zfturbo/volumentations","last_synced_at":"2025-10-09T13:36:49.520Z","repository":{"id":41833908,"uuid":"280753554","full_name":"ZFTurbo/volumentations","owner":"ZFTurbo","description":"Library for 3D augmentations","archived":false,"fork":false,"pushed_at":"2024-10-17T23:50:35.000Z","size":2628,"stargazers_count":256,"open_issues_count":20,"forks_count":36,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-18T21:43:23.535Z","etag":null,"topics":["3d","3d-augmentation","augmentation","transformations"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZFTurbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-18T22:59:10.000Z","updated_at":"2025-09-15T04:24:11.000Z","dependencies_parsed_at":"2024-11-22T21:32:50.777Z","dependency_job_id":null,"html_url":"https://github.com/ZFTurbo/volumentations","commit_stats":{"total_commits":34,"total_committers":5,"mean_commits":6.8,"dds":0.4411764705882353,"last_synced_commit":"2eb78961f5eeb769ca4ab4975052e5ec8360701b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ZFTurbo/volumentations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZFTurbo%2Fvolumentations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZFTurbo%2Fvolumentations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZFTurbo%2Fvolumentations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZFTurbo%2Fvolumentations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZFTurbo","download_url":"https://codeload.github.com/ZFTurbo/volumentations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZFTurbo%2Fvolumentations/sbom","scorecard":{"id":156001,"data":{"date":"2025-08-11","repo":{"name":"github.com/ZFTurbo/volumentations","commit":"1d0565a0534d49eb038ff7de724e778e875f004c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/python-package.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":1,"reason":"Found 3/16 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ZFTurbo/volumentations/python-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ZFTurbo/volumentations/python-package.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:30","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.0 not signed: https://api.github.com/repos/ZFTurbo/volumentations/releases/29242040","Warn: release artifact v1.0 does not have provenance: https://api.github.com/repos/ZFTurbo/volumentations/releases/29242040"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T11:46:28.658Z","repository_id":41833908,"created_at":"2025-08-16T11:46:28.658Z","updated_at":"2025-08-16T11:46:28.658Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001491,"owners_count":26083102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","3d-augmentation","augmentation","transformations"],"created_at":"2024-11-22T17:42:18.067Z","updated_at":"2025-10-09T13:36:49.502Z","avatar_url":"https://github.com/ZFTurbo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Volumentations 3D\n\n3D Volume data augmentation package inspired by albumentations.\n\nVolumentations is a working project, which originated from the following Git repositories:\n- Original:                 https://github.com/albumentations-team/albumentations\n- 3D Conversion:            https://github.com/ashawkey/volumentations\n- Continued Development:    https://github.com/ZFTurbo/volumentations\n\nNevertheless, if you are using this subpackage, please give credit to all authors including ashawkey, ZFTurbo, qubvel and muellerdo.\n\nInitially inspired by [albumentations](https://github.com/albumentations-team/albumentations) library for augmentation of 2D images.\n\n# Installation\n\n```sh\npip install volumentations-3D\n```\n\n# Simple Example\n\n```python\nfrom volumentations import *\n\ndef get_augmentation(patch_size):\n    return Compose([\n        Rotate((-15, 15), (0, 0), (0, 0), p=0.5),\n        RandomCropFromBorders(crop_value=0.1, p=0.5),\n        ElasticTransform((0, 0.25), interpolation=2, p=0.1),\n        Resize(patch_size, interpolation=1, resize_type=0, always_apply=True, p=1.0),\n        Flip(0, p=0.5),\n        Flip(1, p=0.5),\n        Flip(2, p=0.5),\n        RandomRotate90((1, 2), p=0.5),\n        GaussianNoise(var_limit=(0, 5), p=0.2),\n        RandomGamma(gamma_limit=(80, 120), p=0.2),\n    ], p=1.0)\n\naug = get_augmentation((64, 128, 128))\n\nimg = np.random.randint(0, 255, size=(128, 256, 256), dtype=np.uint8)\nlbl = np.random.randint(0, 1, size=(128, 256, 256), dtype=np.uint8)\n\n# with mask\ndata = {'image': img, 'mask': lbl}\naug_data = aug(**data)\nimg, lbl = aug_data['image'], aug_data['mask']\n\n# without mask\ndata = {'image': img}\naug_data = aug(**data)\nimg = aug_data['image']\n\n```\n\n* Check working usage example in [tst_volumentations_type_1.py](tst_volumentations_type_1.py)  \n* Added another usage example / testing in [tst_volumentations_type_2.py](tst_volumentations_type_2.py)  \n\n# Difference from initial version\n\n* Diverse bug fixes.\n* Implemented multiple augmentations.\n* Approximation enhancements to be closer to Albumentations.\n\n# Implemented 3D augmentations\n\nCheck the [EXAMPLES](EXAMPLES.md) page for visual demonstrations\n```python\nCenterCrop\nColorJitter\nContiguous\nCropNonEmptyMaskIfExists\nDownscale\nElasticTransform\nElasticTransformPseudo2D\nFlip\nFloat\nGaussianNoise\nGlassBlur\nGridDistortion\nGridDropout\nImageCompression\nNormalize\nPadIfNeeded\nRandomBrightnessContrast\nRandomCrop\nRandomCropFromBorders\nRandomDropPlane\nRandomGamma\nRandomResizedCrop\nRandomRotate90\nRandomScale\nRandomScale2\nRemoveEmptyBorder\nResize\nResizedCropNonEmptyMaskIfExists\nRotate\nRotatePseudo2D\nTranspose\n```\n\n# Speed table\n\nSpeed in seconds per one sample.\n\n| Aug name | Cube = 64px | Cube = 96px | Cube = 128px | Cube = 224px | Cube = 256px |\n|----------|-------------|-------------|--------------|--------------|--------------|\n| Rotate | 0.0402 | 0.1366 | 0.3246 | 1.7546 | 2.6349 | \n| RandomCropFromBorders| 0.0037 | 0.0129 | 0.0315 | 0.1634 | 0.2426 |\n| ElasticTransform | 0.1588 | 0.5439 | 2.8649 | 11.8937 | 42.3886 |\n| Resize (type = 0) | 0.4029 | 0.4077 | 0.4245 | 0.5545 | 0.6278 |\n| Resize (type = 1) | 0.3618 | 0.3696 | 0.3871 | 0.5174 | 0.5896 |\n| Flip | 0.0042 | 0.0134 | 0.0314 | 0.1649 | 0.2453 |\n| RandomRotate90 | 0.0040 | 0.0140 | 0.0306 | 0.1672 | 0.2439 |\n| GaussianNoise | 0.0143 | 0.0406 | 0.0956 | 0.4992 | 0.7381 |\n| RandomGamma | 0.0066 | 0.0211 | 0.0505 | 0.2654 |  0.3989 |\n| RandomScale | 0.0158 | 0.0518 | 0.1198 | 0.6391 | 0.9457 |\n\n### Related repositories\n\n * [timm_3d](https://github.com/ZFTurbo/timm_3d) - classification models in 3D for PyTorch\n * [classification_models_3D](https://github.com/ZFTurbo/classification_models_3D) - 3D volumes classification models for Keras/Tensorflow\n * [segmentation_models_pytorch_3d](https://github.com/ZFTurbo/segmentation_models_pytorch_3d) - 3D volumes segmentation models for PyTorch\n * [segmentation_models_3D](https://github.com/ZFTurbo/segmentation_models_3D) - segmentation models in 3D for Keras/Tensorflow\n\n# Citation\n\nFor more details, please refer to the publication: https://doi.org/10.1016/j.compbiomed.2021.105089\n\nIf you find this code useful, please cite it as:\n```\n@article{solovyev20223d,\n  title={3D convolutional neural networks for stalled brain capillary detection},\n  author={Solovyev, Roman and Kalinin, Alexandr A and Gabruseva, Tatiana},\n  journal={Computers in Biology and Medicine},\n  volume={141},\n  pages={105089},\n  year={2022},\n  publisher={Elsevier},\n  doi={10.1016/j.compbiomed.2021.105089}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzfturbo%2Fvolumentations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzfturbo%2Fvolumentations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzfturbo%2Fvolumentations/lists"}