Coder Social home page Coder Social logo

dnglab / dnglab Goto Github PK

View Code? Open in Web Editor NEW
308.0 8.0 39.0 9.57 MB

Camera RAW to DNG file format converter

License: GNU Lesser General Public License v2.1

Rust 94.79% Ruby 0.03% Shell 2.53% Awk 0.19% PowerShell 1.17% Elvish 0.52% Roff 0.76%
photography dng dng-format raw raw-image converter

dnglab's Issues

Request for arm64 package release

Could you please include an arm64 build in your releases?! Sheer lack of compiling knowledge is the reason I'm asking ;) BTW I'm thrilled by the project and hope to see it grow! Thanks!

CR3 GPS information is invalid and must be fixed in DNG

dnglab copies the CMT4 box (TIFF structure with EXIF GPS info) into DNG. But CR3 has invalid values for

  • Exif.GPSInfo.GPSLatitude
  • Exif.GPSInfo.GPSLongitude
  • Exif.GPSInfo.GPSTimeStamp

These should be arrays of 3 rationals, but each tag only contains two rationals. The data structure is correct, but programs like darktable can't decode these tags.

This should be fixed by checking the array length and extend the value to 3 rationals if needed.

Use specular white level instead of normal white level for CR3

For Canon CR2 and CR3 files, there exists two white levels in metadata:

Per Channel Black Level         : 2048 2048 2048 2048
Normal White Level              : 13535
Specular White Level            : 14888

dnglab uses the Normal White Level while Adobe DNG Converter uses Specular White Level. This should be changed.

The White and Black level only depends on the choosen ISO value.

Performance improvements

I assume most of the math done here can be speed up, for example with SIMD or better multi threading.

Add missing lenses

Missing Lenses:
Sigma 18-300mm F3.5-6.3 DC MACRO OS HSM | Contemporary 014
Canon EF-S24mm f/2.8 STM

I don't know enough rust to find an answer, but what is the purpose of the toml table full of lenses? Why not just copy the information from existing exif data? Are the other parameters used somewhere I haven't seen in the code?

Add support for Canon PowerShot SX70 HS

Hello! Thank you so much for this tool! I was really excited to see a way I might be able to bring these CR3 files into Darktable on GNU/Linux, but it seems that dnglab doesn't quite support the camera which created the files. What's involved in adding support for different versions of the PowerShot cameras, and more specifically the SX70 HS?

I'd be happy to help, if you can provide some guidance.

Worth noting, I've verified that https://raw.pixls.us/ has images for this camera. If more are needed, I can provide them.

Output from running

~/projects/third-party/dnglab on main at 18:08:04 
❯ ./target/release/dnglab convert ~/sharebox/IMG_0694.CR3 test.dng
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: DecoderFail("File is unsupported: Couldn't find camera \"Canon\" \"Canon PowerShot SX70 HS\" mode \"\".\nPlease submit samples at https://raw.pixls.us/")', bin/dnglab/src/dnggen.rs:96:78
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: JoinError::Panic(...)', bin/dnglab/src/dnggen.rs:100:4

Unknown lens model: 'EF50mm f/1.8 STM'.

Hi, I'm using the Canon 90D with mainly two lens: the canon EF 50mm F1.8 and the canon EF 85mm F1.8.
I got the error message "Unknown lens model: 'EF50mm f/1.8 STM'. Please open an issue at https://github.com/dnglab/dnglab/issues and provide the RAW file".
I will provide as well shot with the EF 85mm F1.8 if I get the same issue.
Thanks a lot for your work, program is great and hugely usefull while waiting for native CR3 support in darktable.

I got a github error saying that the CR3 format is not supported, how can I give you the .CR3 files ?
I try to ZIP the CR3 file but got the error "is not included in the list".

Best regard,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.