Framework for Image Precompensation
Project description
Pyolimp
This project provides a machine learning-based framework for image precompensation targeting vision defects, specifically color vision deficiencies (CVD) and refractive visual impairments (RVI). The framework incorporates both neural network and non-neural network modules to address precompensation effectively across different approaches.
Project Overview
This project focuses on precompensating for visual impairments using machine learning techniques. It includes a comprehensive framework that supports both neural network (NN) and non-neural network (non-NN) methods to restore image quality for those affected by:
- Color Vision Deficiencies (CVD): Compensates for color blindness (e.g., protanopia, deuteranopia).
- Refractive Visual Impairments (RVI): Addresses distortions caused by refractive errors, improving clarity and sharpness.
Requirements
- Python 3.10+
- Pytorch 2.4+
- Additional dependencies listed in pyproject.toml
Installation
pip install olimp
or
pip install git+https://github.com/pyolimp/pyolimp.git
Usage
1. Non-Neural Network Modules for CVD and RVI Precompensation
To run the RVI optimization algorithm for precompensation using the Bregman-Jumbo method, execute:
python3 -m olimp.precompensation.optimization.bregman_jumbo
To run the RVI optimization algorithm for precompensation using the Montalto method, execute:
python3 -m olimp.precompensation.optimization.montalto
To run the CVD optimization algorithm for precompensation using the Tennenholtz Zachevsky method, execute:
python3 -m olimp.precompensation.optimization.tennenholtz_zachevsky
You can also call examples from the directory olimp.precompensation.basic
and olimp.precompensation.analytics as in the examples given.
2. Neural Network Modules for CVD and RVI Precompensation
To run the RVI nn model for precompensation using the USRNET method, execute:
python3 -m olimp.precompensation.nn.models.usrnet
To run the CVD nn model for precompensation using the USRNET method, execute:
python3 -m olimp.precompensation.nn.models.cvd_swin.Generator_transformer_pathch4_844_48_3_nouplayer_server5
3. Training models
To train neural network models for precompensation, use the following command:
python3 -m olimp.precompensation.nn.train.train --config ./olimp/precompensation/nn/pipeline/usrnet.json
you can also train other models, please see olimp/precompensation/nn/pipeline. Also we have json schema and you can generate it, use the following command:
python3 -m olimp.precompensation.nn.train.train --update-schema
Examples
CVD demo example
RVI demo example
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file olimp-1.0.1.tar.gz.
File metadata
- Download URL: olimp-1.0.1.tar.gz
- Upload date:
- Size: 112.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2856fe16ec8f16936005d37cc4cff14c0e4388e99c120a25e31739fc4277ac64
|
|
| MD5 |
f12735b045d00eb15e9258e0a7ec184a
|
|
| BLAKE2b-256 |
a92f86fc53982f20209e823fc9c0d2be70554e33e008bfda6c870e8a6fd6e5b4
|
File details
Details for the file olimp-1.0.1-py3-none-any.whl.
File metadata
- Download URL: olimp-1.0.1-py3-none-any.whl
- Upload date:
- Size: 197.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75fd9e12c5d91ac494c0a33777d492d1751c43d8e183871a2953aba01743f69f
|
|
| MD5 |
18e231e3d8e90e329a74062421c2132e
|
|
| BLAKE2b-256 |
4d94ba4cf665b47b60be70d1f13f5e70ad8384489f60e18c2d1a84286e8ee680
|