OPTIMA35 (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.
Find a file
2024-12-28 11:47:05 +01:00
config Finishing op the TUI version 2024-12-28 11:42:26 +01:00
media New demo gif for v.0.1.0 2024-12-17 12:32:27 +01:00
ui Cleaner structure 2024-12-27 23:46:16 +00:00
utils Finishing op the TUI version 2024-12-28 11:42:26 +01:00
.gitignore Cleaner structure 2024-12-27 23:46:16 +00:00
CHANGELOG.md Trying to pull changes from TUI fork. 2024-12-28 11:47:05 +01:00
LICENSE.md Initiating project. 2024-12-10 15:39:10 +01:00
main.py Trying to pull changes from TUI fork. 2024-12-28 11:47:05 +01:00
README.md Finishing op the TUI version 2024-12-28 11:42:26 +01:00

OPTIMA-35 TUI version

Overview

Fork from OPTIMA-35 (Organizing, Processing, Tweaking Images and Modifying scanned Analogs from 35mm Film) which will preserve the TUI

This project is a port of my earlier work, an collection of bash script, transitioning functionality to a more modular and maintainable design.

Current Status

  • While the program works and core features are available, there are currently some safety checks missing. For example, the program will write / save an image without verifying if a file with the same name already exists.
  • Additionally, while EXIF data/metadata should be implemented correctly, there is a possibility of overlooked issues. In the worst case, a program might throw an error when handling EXIF data, though this has not occurred so far.

Available Features:

  • Initial basic TUI functionality using simple_term_menu
  • Core features:
    • resizing
    • renaming
    • grayscale
    • Change brightness
    • Change contrast
    • Exif management
    • Add watermark

Gif of program in action

my-gif

Dependencies

To run OPTIMA-35 TUI, 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.
  • simple_term_menu: For building the initial TUI interface.

Installing Dependencies

You can install the dependencies using pip:

pip install pyyaml piexif pillow simple-term-menu

Alternatively, you can use conda or its alternatives (anaconda, mamba, micromamba):

conda install -c conda-forge pyyaml piexif pillow simple-term-menu

Use of LLMs

In the interest of transparency, I disclose that Generative AI (GAI) large language models (LLMs), including OpenAIs 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

  2. Hui, Binyuan, et al. Qwen2.5-Coder Technical Report. arXiv preprint arXiv:2409.12186, 2024. arXiv

  3. Yang, An, et al. Qwen2 Technical Report. arXiv preprint arXiv:2407.10671, 2024. arXiv