Feat: Added compatibility with optima35 v1.0
This commit is contained in:
parent
2a5efcd88c
commit
09025105ea
7 changed files with 76 additions and 442 deletions
84
README.md
84
README.md
|
@ -1,36 +1,56 @@
|
|||
# **OptimaLab35**
|
||||
[OptimaLab35](https://gitlab.com/CodeByMrFinchum/OptimaLab35) is a graphical and terminal user interface for [optima35](https://gitlab.com/CodeByMrFinchum/optima35). It is under **heavy development**, and both UI elements and cross-platform compatibility may change.
|
||||
_Last updated: 28 Jan 2025_
|
||||
|
||||
## **Overview**
|
||||
|
||||
**OptimaLab35** extends **OPTIMA35** (**Organizing, Processing, Tweaking Images, and Modifying scanned Analogs from 35mm Film**) by providing an intuitive interface for image and metadata management. While tailored for analog photography, it supports any type of image.
|
||||
**OptimaLab35** enhances **OPTIMA35** (**Organizing, Processing, Tweaking Images, and Modifying scanned Analogs from 35mm Film**) by offering a user-friendly graphical interface for efficient image and metadata management.
|
||||
|
||||
It serves as a GUI for the [OPTIMA35 library](https://gitlab.com/CodeByMrFinchum/optima35), providing an intuitive way to interact with the core functionalities.
|
||||
|
||||
---
|
||||
|
||||
## **Current Status**
|
||||
### **Alpha Stage**
|
||||
|
||||
### **Versioning and Compatibility**
|
||||
OptimaLab35 is built using **PySide6** and **Qt**, offering a modern and flexible interface for **OPTIMA35**.
|
||||
|
||||
The preserved version **v0.1.0** ensures stability with the current GUI design. It depends on **optima35==0.6.4**, a version confirmed to work seamlessly with this release. Future updates may introduce breaking changes, especially as the project evolves across platforms.
|
||||
The program is under **active development**, and while versions released on PyPI should not contain major bugs, occasional issues may arise.
|
||||
|
||||
### **Installation**
|
||||
For the most accurate and detailed update information, please refer to the well-maintained [**CHANGELOG**](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/blob/main/CHANGELOG.md), as this README may occasionally lag behind the latest updates.
|
||||
|
||||
Install via pip (dependencies are automatically managed, except for `simple-term-menu` used in TUI mode, which is Linux-only):
|
||||
---
|
||||
|
||||
## **Features**
|
||||
|
||||
### **Image Processing**
|
||||
- Resize images (upscale or downscale)
|
||||
- Convert images to grayscale
|
||||
- Adjust brightness and contrast
|
||||
- Add customizable text-based watermarks
|
||||
|
||||
### **Image preview**
|
||||
- Load a single image and see how change in brightness and contrast changes the image
|
||||
|
||||
### **EXIF Management**
|
||||
- Add EXIF data using a simple dictionary
|
||||
- Copy EXIF data from the original image
|
||||
- Remove EXIF metadata completely
|
||||
- Add timestamps (e.g., original photo timestamp)
|
||||
- Automatically adjust EXIF timestamps based on image file names
|
||||
- Add GPS coordinates to images
|
||||
|
||||
---
|
||||
|
||||
## **Installation**
|
||||
|
||||
Install via **pip** (dependencies are handled automatically):
|
||||
```bash
|
||||
pip install OptimaLab35
|
||||
```
|
||||
|
||||
## **Development and Notes**
|
||||
---
|
||||
|
||||
**Alpha Stage**
|
||||
- UI designs (GUI and TUI) are evolving, and breaking changes may occur.
|
||||
- The [**CHANGELOG**](https://gitlab.com/CodeByMrFinchum/OptimaLab35/-/blob/main/CHANGELOG.md) provides detailed updates.
|
||||
- Some safety checks are still under development.
|
||||
|
||||
**Modes:**
|
||||
- **GUI**: Default if **PySide6** is available.
|
||||
- **TUI**: Fallback if **PySide6** is missing or can be explicitly started using the `--tui` flag.
|
||||
|
||||
### Preview GUI
|
||||
## Preview GUI
|
||||
**PREVIEW** might be out of date.
|
||||
|
||||
**Main tab**
|
||||
|
@ -49,35 +69,7 @@ pip install OptimaLab35
|
|||
|
||||
{width=40%}
|
||||
|
||||
**Info window**
|
||||
|
||||
{width=40%}
|
||||
|
||||
## **Features**
|
||||
|
||||
### **Image Processing**
|
||||
- Resizing
|
||||
- Renaming with custom order
|
||||
- Grayscale conversion
|
||||
- Brightness and contrast adjustment
|
||||
|
||||
### **EXIF Management**
|
||||
- Copy or add custom EXIF data
|
||||
- Add GPS coordinates
|
||||
- Add or modify EXIF dates
|
||||
- Remove EXIF metadata
|
||||
|
||||
### **Watermarking**
|
||||
- Add customizable watermarks
|
||||
|
||||
## **Dependencies**
|
||||
|
||||
**GUI Mode:**
|
||||
- `optima35`
|
||||
- `pyside6`
|
||||
|
||||
**TUI Mode (Linux only):**
|
||||
- `simple-term-menu`
|
||||
---
|
||||
|
||||
# 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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue