83 lines
3.5 KiB
Markdown
83 lines
3.5 KiB
Markdown
# OPTIMA-35
|
||
|
||
## Overview
|
||
|
||
**OPTIMA-35** (**Organizing, Processing, Tweaking Images and Modifying scanned Analogs from 35mm Film**) is a Python-based project designed to provide a streamlined way to manage and edit metadata and images from analog photography. But can be used for any images.
|
||
|
||
This project is a *port* of my earlier work, an collection of [bash script](https://gitlab.com/sf-bashscripts/analogphotography), transitioning functionality to a more modular and maintainable design.
|
||
|
||
**Please check** if a new branch is available and read the **changelog** to see the progress and current features of the program. The README might sometimes lag behind.
|
||
|
||
OPTIMA-35 is evolving! The project is transitioning from a terminal-based user interface (TUI) to a graphical user interface (GUI) using Qt (via PySide6). First TUI version was forked to [OPTIMA-35 TUI](https://gitlab.com/python_projects3802849/optima-35-tui). I intend to keep the TUI version functional since it is usefull for headless setup.
|
||
|
||
**GUI for OPTIMA-35 v0.3.4** with KvArcDark theme
|
||
|
||
*Last preview until GUI is finished.*
|
||
|
||
|
||
{width=40%}
|
||
{width=40%}
|
||
{width=40%}
|
||
## **Current Status**
|
||
**The README is temporarily outdated** while the GUI version is under development. For the latest updates, please check the **changelog**—I always maintain a detailed log of changes.
|
||
|
||
### Available Features:
|
||
- Core features:
|
||
- resizing
|
||
- renaming
|
||
- grayscale
|
||
- Change brightness
|
||
- Change contrast
|
||
- Exif management
|
||
- Add watermark
|
||
|
||
## Dependencies
|
||
|
||
To run **OPTIMA-35**, the following Python libraries are required:
|
||
|
||
- **pyyaml**: To handle YAML files for configuration and settings.
|
||
- **piexif**: To read, modify, and write EXIF metadata.
|
||
- **Pillow**: For image processing.
|
||
- **pyside6**: GUI
|
||
|
||
### Installing Dependencies
|
||
|
||
You can install the dependencies using `pip`:
|
||
|
||
```bash
|
||
pip install pyyaml piexif pillow pyside6
|
||
```
|
||
|
||
Alternatively, you can use `conda` or its alternatives (`anaconda`, `mamba`, `micromamba`):
|
||
|
||
```bash
|
||
conda install -c conda-forge pyyaml piexif pillow pyside6
|
||
```
|
||
|
||
# Use of LLMs
|
||
In the interest of transparency, I disclose that Generative AI (GAI) large language models (LLMs), including OpenAI’s ChatGPT and Ollama models (e.g., OpenCoder and Qwen2.5-coder), have been used to assist in this project.
|
||
|
||
## Areas of Assistance:
|
||
- Project discussions and planning
|
||
- Spelling and grammar corrections
|
||
- Suggestions for suitable packages and libraries
|
||
- Guidance on code structure and organization
|
||
|
||
In cases where LLMs contribute directly to code or provide substantial optimizations, such contributions will be disclosed and documented in the relevant sections of the codebase.
|
||
|
||
**Ollama**
|
||
- mradermacher gguf Q4K-M Instruct version of infly/OpenCoder-1.5B
|
||
- unsloth gguf Q4K_M Instruct version of both Qwen/QWEN2 1.5B and 3B
|
||
|
||
### References
|
||
1. **Huang, Siming, et al.**
|
||
*OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models.*
|
||
2024. [PDF](https://arxiv.org/pdf/2411.04905)
|
||
|
||
2. **Hui, Binyuan, et al.**
|
||
*Qwen2.5-Coder Technical Report.*
|
||
*arXiv preprint arXiv:2409.12186*, 2024. [arXiv](https://arxiv.org/abs/2409.12186)
|
||
|
||
3. **Yang, An, et al.**
|
||
*Qwen2 Technical Report.*
|
||
*arXiv preprint arXiv:2407.10671*, 2024. [arXiv](https://arxiv.org/abs/2407.10671)
|