Skip to content

Feature/add 2024 isbi goat algorithms - #144

Draft
PaulaTBz wants to merge 9 commits into
mainfrom
feature/add-2024-isbi-goat-algorithms
Draft

Feature/add 2024 isbi goat algorithms#144
PaulaTBz wants to merge 9 commits into
mainfrom
feature/add-2024-isbi-goat-algorithms

Conversation

@PaulaTBz

@PaulaTBz PaulaTBz commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

This feature implements the top-2 algorithms from the IEEE-ISBI BraTS GoAT challenge from the year 2024. The images have already been pushed to the brainles docker hub page. The algorithm from the first place is executable, while for the second place, we are currently missing the correct Zenodo ID to download weights etc.

@brainless-bot

brainless-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🤖 Code Formatting Reminder

Hello there! 👋 It looks like the code in this pull request might benefit from some formatting improvements.
Fix the issues locally or use our auto format action by commenting /format on this PR!

Code style: black

@PaulaTBz

PaulaTBz commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

/format

@brainless-bot

brainless-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🤖 I will now format your code with black. Check the status here.

@PaulaTBz

PaulaTBz commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

One test failed: tests/utils/test_algorithm_config.py::test_integrity_challenge_manuscript.
Reason: the test asserts that all algorithms for a given year share the same challenge_manuscript value, but it found two different values (len(set(...)) == 2), namely "N/A" and "https://ieeexplore.ieee.org/document/10635839". Overall result: 1 failed, 84 passed.

I added the challenge manuscript for ISBI on purpose. It is separate from the Miccai BraTS challenge paper, hence we need a second challenge paper for the year 2024. I am unsure how to handle this - Should we modify or ignore the test ?
Not sure whom to ask so I'll tag @neuronflow :D

@PaulaTBz

PaulaTBz commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

With the help of copilot, I created a second PR that addresses this problem. The suggestion is to group not only by year, but by challenge and year:
#145

Comment thread brats/data/meta/goat.yml
@@ -1,9 +1,15 @@
constants:
input_name_schema: &input_name_schema "BraTS-GLI-{id:05d}-000"
challenge: &challenge "BraTS Generalizability Across Tumors (BraTS-GoAT)"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

improve naming to distinguish if we want tos tick with single file (would not recommend)

Comment thread brats/data/meta/goat.yml

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not familiar with ISBI - is this a separate challenge? If yes, should we also have a separate metadata file? would also avoid having this multi-paper change

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

seems better if we have a separate segmenter anyways

Comment thread README.md
segmenter = ISBIGoATSegmenter(
algorithm=ISBIGoATAlgorithms.BraTS24_ISBI_1,
cuda_devices="0"
)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

lacks infer call

Comment thread brats/constants.py

class GoATAlgorithms(Algorithms):
"""Constants for the available missing mri algorithms."""
"""Constants for the available missing mri algorithms.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

preexisting issue but fix here: missing mri algorithm

Comment thread brats/data/meta/goat.yml
requires_root: false
parameters_file: true
additional_files:
record_id: "00000000"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this seems wrong? add proper id or remove

Comment thread README.md
| Year | Rank | Author | Paper | CPU Support | Key Enum |
| ---- | ---- | ------------------------- | ------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 2024 | 1st | _André Ferreira, et al._ | https://arxiv.org/abs/2402.17317 | ❌ | [BraTS24_ISBI_1](https://brats.readthedocs.io/en/latest/utils/utils.html#brats.constants.ISBIGoATAlgorithms.BraTS24_ISBI_1) |
| 2024 | 2nd | _Anees Hashmi, et al._ | [PAPER_URL_2] | [CPU_SUPPORT_2] | [BraTS24_ISBI_2](https://brats.readthedocs.io/en/latest/utils/utils.html#brats.constants.ISBIGoATAlgorithms.BraTS24_ISBI_2) |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

insert proper values for paper and cpu support

@PaulaTBz

PaulaTBz commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

@MarcelRosier Hi Marcel! Thank you so much for taking the time to review my PR! :) I read your comments and they seem absolutely valid and I really appreciate your feedback. The thing is, I intentionally published this only as a draft, because it was in fact not yet ready for review, but you could not have known that!
Florian suggested I should do it like this so that it was already pushed, but flagged clearly as not being ready for review yet. I am hoping that you did not spend too much time on it!
You correctly noted that for instance the Zenodo ID is just a placeholder (00000) at the moment and the info for the paper link and CPU are missing. This is because I do not yet have this information. I am in contact with the developers of the algorithm to gather this information, only then can I meaningfully finalize my changes and publish them as a proper PR.

ISBI is in fact a different conference, but it hosts the same BraTS Challenge, that is why I implemented it as it is now. But I totally see your point of this being messy and I will look into your idea of using a new metadata file! Maybe we do not need to modify the test then, but I have to check what makes most sense here.
We would like to reuse the GoAT segmenter, because it is exactly the same for ISBI and MICCAI.

I will continue working on this as soon as I have all relevant information from the developers, but thank you again for taking the time to review! :)

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.

2 participants