Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite of image meta #48

Merged
merged 98 commits into from
Feb 26, 2023
Merged

Rewrite of image meta #48

merged 98 commits into from
Feb 26, 2023

Conversation

evanoberholster
Copy link
Owner

Rewrite of imagemeta

@coveralls
Copy link

coveralls commented Feb 20, 2023

Pull Request Test Coverage Report for Build 4275534749

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 298 of 2481 (12.01%) changed or added relevant lines in 46 files are covered.
  • 57 unchanged lines in 4 files lost coverage.
  • Overall coverage decreased (-21.2%) to 30.914%

Changes Missing Coverage Covered Lines Changed/Added Lines %
imagehash/transforms/dct.go 0 1 0.0%
meta/canon/utils.go 0 2 0.0%
xmp/exif.go 0 2 0.0%
meta/meta.go 2 5 40.0%
exif2/ifds/mknote/nikon/tags.go 0 5 0.0%
jpeg/log.go 3 9 33.33%
log.go 0 6 0.0%
exif2/ifds/make.go 0 10 0.0%
exif2/ifds/mknote/canon/canon.go 0 10 0.0%
exif2/ifds/mknote/nikon/nikon.go 3 13 23.08%
Files with Coverage Reduction New Missed Lines %
meta/exifTypes_gen.go 1 55.04%
imagemeta.go 3 0.0%
jpeg/jpeg.go 4 68.38%
imagehash/imagehash.go 49 0.0%
Totals Coverage Status
Change from base Build 2741911149: -21.2%
Covered Lines: 1712
Relevant Lines: 5538

💛 - Coveralls

@evanoberholster
Copy link
Owner Author

evanoberholster commented Feb 22, 2023

  • Stable ImageTypes API
  • Exif parsing for jpg, heif, cr2, tiff, and dng
  • Exif parsing for CR3
  • Camera Make and Model lookup tables
  • Stable Imagemeta API
  • Canon Makernote initial support
  • Nikon Makernote initial support
  • Exif parsing for AVIF (ISOBMFF format)
  • Exif parsing for CRW (ciff format)
  • Preview image extraction
  • Test coverage >50%

@evanoberholster
Copy link
Owner Author

Issues addressed:

@mholt
Copy link
Collaborator

mholt commented Feb 22, 2023

@evanoberholster I finally had a chance to clone this down and try it out. So far, it works! The Decode() function works nicely and returns timestamp and coordinate data with values as expected. I have yet to try other fields.

Is there a way to get all the extracted EXIF fields? Like a map I can iterate over?

It's OK if these fields don't have any special interpreation: just a key-value store of whatever fields were discovered. This would be easier for me to work with than a huge struct with hard-coded fields. (I think some struct fields are OK, especially if they are common or need interpretation to be useful -- but I'd still like a map of everything that was parsed anyway.)

Sorry if I have a lot of requests 🙃 I think we're getting close to something that works for my use case! 🎉

Excellent job with this, and thank you very much again.

@evanoberholster
Copy link
Owner Author

Thanks for the suggestion, as this is an enhancement that will need further work. Would prefer that it were merged from a new PR request. There for I have opened issue #49

The goal is to merge develop as soon as possible as it is a rewrite.

@mholt
Copy link
Collaborator

mholt commented Feb 24, 2023

Makes sense - thanks!

@evanoberholster evanoberholster merged commit 2d7e147 into master Feb 26, 2023
@mholt
Copy link
Collaborator

mholt commented Feb 27, 2023

Congrats on the rewrite 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants