Skip to content

Conversation

@arthur-encord
Copy link
Contributor

Introduction and Explanation

Currently, trying to add a bitmask to a DICOM series may fail because the dimensions will always be the "global" dimensions, which are only valid if the slices of the series are all the same size.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @arthur-encord, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves a critical bug affecting the application of bitmasks to DICOM series, particularly when individual slices within the series possess differing dimensions. By enhancing the FrameView to accurately fetch frame-specific width and height for DICOM data, it ensures that bitmask validation operates correctly, thereby enabling robust labeling workflows for complex medical imaging datasets.

Highlights

  • DICOM Dimension Handling: The FrameView's width and height properties now correctly retrieve frame-specific dimensions for DICOM data, addressing issues where slices within a series might have different sizes.
  • Bitmask Validation for DICOM: Implemented logic to prioritize frame-level metadata for DICOM dimensions, preventing failures when applying bitmasks to DICOM series with non-uniform slice dimensions.
  • New Test Coverage: Added comprehensive unit tests to validate bitmask dimension checks for DICOM, image groups, and single images, ensuring the fix works as expected and covers edge cases with varying frame dimensions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link

github-actions bot commented Nov 28, 2025

Unit test report (Python 3.9.24, Pydantic 2.12.3)

272 tests   272 ✅  8s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 2e2fbc2.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Nov 28, 2025

Unit test report (Python 3.9.24, Pydantic 1.10.22)

272 tests   272 ✅  9s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 2e2fbc2.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request correctly addresses an issue where FrameView's width and height properties did not work correctly for DICOM series with slices of varying dimensions. The fix is sound and the newly added tests in test_bitmask_validation.py are comprehensive and validate the changes effectively. I have a few suggestions to improve maintainability and clarity. In ontology_labels_impl.py, I've recommended refactoring the width and height properties to remove some duplicated code and to make the docstrings more consistent. In the new test file, I've pointed out a small area of confusion in the test setup that could be clarified.

@github-actions
Copy link

github-actions bot commented Nov 28, 2025

SDK integration test report

285 tests  ±0   277 ✅ +2   13m 33s ⏱️ -11s
  1 suites ±0     4 💤 ±0 
  1 files   ±0     4 ❌  - 2 

For more details on these failures, see this check.

Results for commit 2e2fbc2. ± Comparison against base commit 12ba12a.

♻️ This comment has been updated with latest results.

@arthur-encord arthur-encord force-pushed the arthur/add-bitmask-tests branch from 2d89e56 to 2e2fbc2 Compare November 28, 2025 14:38
@arthur-encord arthur-encord merged commit 38f848a into master Nov 28, 2025
5 of 7 checks passed
@arthur-encord arthur-encord deleted the arthur/add-bitmask-tests branch November 28, 2025 14:59
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.

3 participants