Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bradenm/pydngconverter
Python Interface for the Adobe DNG Converter
https://github.com/bradenm/pydngconverter
adobe-dng-converter dng interface python raw-image
Last synced: 2 months ago
JSON representation
Python Interface for the Adobe DNG Converter
- Host: GitHub
- URL: https://github.com/bradenm/pydngconverter
- Owner: BradenM
- License: mit
- Created: 2019-08-20T03:51:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T18:09:42.000Z (9 months ago)
- Last Synced: 2024-04-16T04:17:13.502Z (9 months ago)
- Topics: adobe-dng-converter, dng, interface, python, raw-image
- Language: Python
- Homepage: https://bradenm.github.io/pydngconverter/
- Size: 3.24 MB
- Stars: 16
- Watchers: 2
- Forks: 5
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# PyDNGConverter
Python Interface for the Adobe's DNG Converter.
Utilizing parallel processing,
PyDNGConverter can convert RAW images to DNG up to **~60% faster** than simply utilizing Adobe's DNG Converter.## Installation
```sh
sudo apt-get install gcc python3-dev
pip install -U pydngconverter
```To utilize PyDNGConverter's Exif thumbnail extraction (as opposed to Adobe DNG Converters'), the following dependencies are required:
- [ExifTool](https://exiftool.org/)
- [ImageMagick](https://docs.wand-py.org/en/0.6.2/guide/install.html)Then specify `JPEGPreview.EXTRACT` for `DNGConverters` `jpeg_preview` parameter.
Alternatively, you can utilize Adobe DNG Converters' thumbnail extraction via:
- `JPEGPreview.MEDIUM`
- `JPEGPreview.FULL`Or, disable thumbnails via:
- `JPEGPreview.NONE`## Example
```python
import asyncio
from pydngconverter import DNGConverter, flagsasync def main():
# Create converter instance.
pydng = DNGConverter('/my/raw/files/',
dest='/dngfiles',
jpeg_preview=flags.JPEGPreview.EXTRACT,
fast_load=True,
)
# Convert all
return await pydng.convert()loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()```