A tiny digital photographic utility.
Project description
Anshitsu
A tiny digital photographic utility.
"Anshitsu" means a darkroom in Japanese.
Install
Run this command in an environment where a currently supported Python version is installed.
We have tested it on Windows, Mac, and Ubuntu on GitHub Actions, but we have not tested it on Macs with Apple Silicon, so please use it at your own risk on Macs with Apple Silicon.
pip install anshitsu
Usage
It is as described in the following help.
NAME
anshitsu - Process Runnner for Command Line Interface
SYNOPSIS
anshitsu <flags>
DESCRIPTION
This utility converts the colors of images such as photos.
If you specify a directory path, it will convert
the image files in the specified directory.
If you specify a file path, it will convert the specified file.
If you specify an option, the specified conversion will be performed.
Tosaka mode is named after Tosaka-senpai's "Tri-X de banzen"
line from "Kyūkyoku Chōjin R". It aims for a grainy
black-and-white photo look similar to Kodak Tri-X film.
This mode converts the image to grayscale and adjusts contrast.
Use floating-point numbers; values around 2.4 usually work well.
FLAGS
--path=PATH
Type: Optional[Union]
Default: None
Directory or file path. Defaults to None.
-k, --keep_alpha=KEEP_ALPHA
Type: bool
Default: False
Keep the alpha channel. Defaults to False.
--colorautoadjust=COLORAUTOADJUST
Type: bool
Default: False
Correct colors using Automatic Color Equalization. Defaults to False.
--colorstretch=COLORSTRETCH
Type: bool
Default: False
Apply gray-world white balance and color stretching. Defaults to False.
-g, --grayscale=GRAYSCALE
Type: bool
Default: False
Convert to grayscale. Defaults to False.
-i, --invert=INVERT
Type: bool
Default: False
Invert image colors. Defaults to False.
--color=COLOR
Type: Optional[Union]
Default: None
Adjust color. Defaults to None.
-b, --brightness=BRIGHTNESS
Type: Optional[Union]
Default: None
Adjust brightness. Defaults to None.
--sharpness=SHARPNESS
Type: Optional[Union]
Default: None
Adjust sharpness. Defaults to None.
--contrast=CONTRAST
Type: Optional[Union]
Default: None
Adjust contrast. Defaults to None.
-t, --tosaka=TOSAKA
Type: Optional[Union]
Default: None
Use Tosaka mode. Defaults to None.
--outputrgb=OUTPUTRGB
Type: bool
Default: False
Convert a monochrome image to RGB. Defaults to False.
--sepia=SEPIA
Type: bool
Default: False
Colorize a monochrome image with sepia tones. Defaults to False.
--cyanotype=CYANOTYPE
Type: bool
Default: False
Colorize a monochrome image with cyanotype-like Prussian blue. Defaults to False.
-r, --rochester=ROCHESTER
Type: bool
Default: False
Apply a warm color grade inspired by Kodak PORTRA 400. Defaults to False.
-a, --ashigara=ASHIGARA
Type: bool
Default: False
Apply a vivid color grade inspired by Fujifilm Velvia 100. Defaults to False.
-n, --noise=NOISE
Type: Optional[Union]
Default: None
Add Gaussian noise. Defaults to None.
--overwrite=OVERWRITE
Type: bool
Default: False
Overwrite original files. Defaults to False.
--version=VERSION
Type: bool
Default: False
Show version. Defaults to False.
-l, --line_drawing=LINE_DRAWING
Type: bool
Default: False
Convert to a line drawing. Defaults to False.
--posterize=POSTERIZE
Type: Optional[Union]
Default: None
Posterize the image. Defaults to None.
--vignette=VIGNETTE
Type: Optional[Union]
Default: None
Darken image edges with a radial vignette. Defaults to None.
If a directory is specified in the path, an out directory will be created in the specified directory, and the converted JPEG and PNG images will be stored in PNG format.
If you specify a JPEG or PNG image file as the path, an out directory will be created in the directory where the image is stored, and the converted image will be stored in PNG format.
Note: If you specify a file in any other format in the path, be aware there is no error handling. The program will terminate abnormally.
Algorithms
The following algorithms are available in this tool.
RGBA to RGB Convert
Converts an image that contains Alpha, such as RGBA, to image data that does not contain Alpha. Transparent areas will be filled with white.
This algorithm is performed on any image file.
invert
Inverts the colors of an image using Pillow's built-in algorithm.
In the case of negative film, color conversion that takes into account the film base color is not performed, but we plan to follow up with a feature to be developed in the future.
colorautoadjust
Applies color correction using the Automatic Color Equalization algorithm described in the following paper.
This process is more time consuming than the algorithm used in "colorstretch", but it can reproduce more natural colors.
(References)
A. Rizzi, C. Gatta and D. Marini, "A new algorithm for unsupervised global and local color correction.", Pattern Recognition Letters, vol. 24, no. 11, 2003.
colorstretch
The "gray world" and "stretch" algorithms described in the following paper are combined to apply color correction.
This process is faster than the algorithm used in "colorautoadjust".
(References)
D. Nikitenko, M. Wirth and K. Trudel, "Applicability Of White-Balancing Algorithms to Restoring Faded Colour Slides: An Empirical Evaluation.", Journal of Multimedia, vol. 3, no. 5, 2008.
grayscale
Convert a color image to grayscale using the algorithm described in the following article.
Note: This article is written in Japanese.
Tosaka mode
Tosaka mode is named after Tosaka-senpai's "Tri-X de banzen" line from "Kyūkyoku Chōjin R". It aims for a grainy black-and-white photo look similar to Kodak Tri-X film.
Use floating-point numbers when using this mode; values around 2.4 usually work well.
When this mode is specified, color images will also be converted to grayscale.
outputrgb
Converts a monochrome image to RGB.
rochester
Applies a warm, low-saturation color grade inspired by Kodak PORTRA 400.
ashigara
Applies a vivid, high-contrast color grade inspired by Fujifilm Velvia 100.
noise
Add Gaussian noise.
To add noise, you need to specify a floating-point number; a value of about 10.0 will be just right.
vignette
Darkens image edges with a radial vignette.
To add a vignette, specify a floating-point number between 0.0 and 1.0.
Special Thanks
We are using the following libraries.
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 anshitsu-3.0.0.tar.gz.
File metadata
- Download URL: anshitsu-3.0.0.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.0 Darwin/25.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c4c03943f8901394feb542eab03620ca7cceed769a93b032d485e46c9911930
|
|
| MD5 |
093023259d08af3aa9ca4f578a2122f2
|
|
| BLAKE2b-256 |
2690331ddc2ab5122065182847dd2db27c97fa6f6422ad2e0ca4daaf8d14a99d
|
File details
Details for the file anshitsu-3.0.0-py3-none-any.whl.
File metadata
- Download URL: anshitsu-3.0.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.0 Darwin/25.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9125b32ee58d7c6f5f9150127147f2f1da95e8ad0773fdb05111294d093a6945
|
|
| MD5 |
b61d6124ff5acd3c83ef4f3869e1cb3e
|
|
| BLAKE2b-256 |
3d9f2d174835c7275928f1fc6d944d12b2bc580ffec7586ff60d7d6bfc89cfaf
|