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

Exif Nested Metadata support for Image Dashboards #2542

Merged
merged 32 commits into from
Mar 5, 2024

Conversation

Advitya17
Copy link
Collaborator

This pull request includes changes to the responsibleai_vision package, specifically to the feature_extractors.py and image_reader.py files. The changes aim to improve the extraction and processing of image metadata. The most important changes include the addition of ExifTags and IFDRational from the PIL library, the creation of a new function process_data to handle different data types, and the modification of the append_exif_features and get_all_exif_feature_names functions to handle nested tags in the Exif data.

Improvements to image metadata extraction and processing:

Description

Ask from 2 customers to expand exif metadata support by including nested types.

Checklist

  • I have added screenshots above for all UI changes.
  • I have added e2e tests for all UI changes.
  • Documentation was updated if it was needed.

@codecov-commenter
Copy link

codecov-commenter commented Feb 24, 2024

Codecov Report

Attention: Patch coverage is 90.32258% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 78.15%. Comparing base (7292ba3) to head (f8a2902).

Files Patch % Lines
...n/responsibleai_vision/utils/feature_extractors.py 86.36% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2542      +/-   ##
==========================================
- Coverage   83.96%   78.15%   -5.81%     
==========================================
  Files          95       36      -59     
  Lines        4951     2619    -2332     
==========================================
- Hits         4157     2047    -2110     
+ Misses        794      572     -222     
Flag Coverage Δ
unittests 78.15% <90.32%> (-5.81%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

if (Array.isArray(expectedNumberOfCohorts)) {
cy.get(getChartItems(chartIdentifier))
.its("length")
.should("be.gte", expectedNumberOfCohorts[0])
.and("be.lte", expectedNumberOfCohorts[1]);
} else {
cy.get(getChartItems(chartIdentifier)).should(
"have.length",
expectedNumberOfCohorts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these come from a settings file for each dataset (singleFeatureCohorts or multiFeatureCohorts). I think it might be better to just set these to the correct values for the vision notebooks or only do this type of very loose check for vision notebooks only, since we still want to validate this is consistent for tabular and text notebooks.

Copy link
Collaborator Author

@Advitya17 Advitya17 Mar 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imatiach-msft these tests are unfortunately so flaky that different python versions were showing different values and hence failing at different steps. For diff versions, this gate (Exif Nested Metadata support for Image Dashboards · microsoft/responsible-ai-toolbox@34f2f52 (github.com) has failed differently across all 3 notebooks.

@Advitya17 Advitya17 merged commit e2c7dd0 into main Mar 5, 2024
100 of 101 checks passed
@Advitya17 Advitya17 deleted the agemawat/exif_extension branch March 5, 2024 21:53
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