Skip to content

DATA: Valid many-component compressed MetaIO fixture (ITK #6692) - #78

Merged
hjmjohnson merged 1 commit into
InsightSoftwareConsortium:gh-pagesfrom
hjmjohnson:data-manycomponent-mha-valid-6692
Jul 23, 2026
Merged

DATA: Valid many-component compressed MetaIO fixture (ITK #6692)#78
hjmjohnson merged 1 commit into
InsightSoftwareConsortium:gh-pagesfrom
hjmjohnson:data-manycomponent-mha-valid-6692

Conversation

@hjmjohnson

Copy link
Copy Markdown
Member

Adds a valid replacement blob for the many-component compressed MetaIO fixture used by itkImageFileReaderManyComponentVectorTest, needed by ITK #6692 (MetaIO 8c41a1d9 vendor update).

New CID: bafkreifuvkmy4vvxyhxwcga5rvs3y75dwyt4bf3h6g2fyoxt3am5jqzbra

Why a new blob is needed

The existing content link (bafkreigfnnwheantnltrycahox5r3agtmf4q2vfmbabrjx7rjs66iikozi) holds a truncated zlib stream: it decompresses to 119 bytes while the .mha header declares 31 MET_FLOAT channels for a 1×1 image (124 bytes). 119 is not even a multiple of 4, so it cannot represent 31 floats.

The pre-#6692 MetaIO reader silently accepted the short read (decompressing 119 bytes into a 124-byte buffer, leaving 5 bytes uninitialized, and returning success). The MetaIO 8c41a1d9 fix (MET_PerformUncompression now reports its byte count and callers honour it — ITK #6575 B66) correctly rejects the truncated stream, which broke itkImageFileReaderManyComponentVectorTest on ITK #6692.

This blob is the same image re-encoded as a valid 124-byte compressed stream — the historically-delivered 119 bytes zero-padded to the declared size — so the reader consumes a self-consistent file. Verified: the stored blob's content hash equals its CID filename, and the file reads without exception under the #6692 MetaIO build.

The existing rf_voltage ...fft1d_size_128.mha content link
(bafkreigfnnwheantnltrycahox5r3agtmf4q2vfmbabrjx7rjs66iikozi) holds a
truncated zlib stream: it decompresses to 119 bytes while its header
declares 31 MET_FLOAT channels (124 bytes). The pre-#6692 MetaIO reader
silently accepted the short read; the MetaIO 8c41a1d9 uncompression-result
fix (ITK #6692) correctly rejects it.

This blob is the same image re-encoded as a valid 124-byte compressed
stream (the historically-delivered 119 bytes zero-padded to the declared
size), so itkImageFileReaderManyComponentVectorTest reads a self-consistent
file.
@hjmjohnson
hjmjohnson marked this pull request as ready for review July 23, 2026 20:52
@hjmjohnson
hjmjohnson merged commit fdf028d into InsightSoftwareConsortium:gh-pages Jul 23, 2026
hjmjohnson added a commit to hjmjohnson/ITK that referenced this pull request Jul 23, 2026
The prior fixture's compressed stream was truncated (decompressed to 119
bytes while its header declares 31 MET_FLOAT channels = 124 bytes). The
MetaIO 8c41a1d9 uncompression-result fix in this branch correctly rejects
it, breaking itkImageFileReaderManyComponentVectorTest.

Point the content link at the valid re-encoded blob published in
InsightSoftwareConsortium/ITKTestingData#78.

@dzenanz dzenanz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Interesting that we had an invalid file in our regression test suite 😄

hjmjohnson added a commit to hjmjohnson/ITK that referenced this pull request Jul 23, 2026
The prior fixture's compressed stream was truncated (decompressed to 119
bytes while its header declares 31 MET_FLOAT channels = 124 bytes). The
MetaIO 8c41a1d9 uncompression-result fix in this branch correctly rejects
it, breaking itkImageFileReaderManyComponentVectorTest.

Point the content link at the valid re-encoded blob published in
InsightSoftwareConsortium/ITKTestingData#78.
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