Fix VisuCoreWordType spelling for 8-bit unsigned 2dseq (_8BIT_UNSGN_INT)#38
Merged
headmeister merged 1 commit intoJul 22, 2026
Merged
Conversation
The 2dseq word-type config matched `_8BIT_USGN_INT`, but ParaVision's RECO_WORDTYPE enum (prog/include/recotyp.h) and the on-disk `VisuCoreWordType` value are spelled `_8BIT_UNSGN_INT`. As written, an 8-bit unsigned 2dseq matches no numpy_dtype branch, so the property is never set and loading fails with MissingProperty. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
config/properties_2dseq_core.jsonselects the numpy dtype for 8-bit unsigned2dseqdata by matchingVisuCoreWordType == "_8BIT_USGN_INT". That spelling is wrong — ParaVision spells the enum_8BIT_UNSGN_INT(with theN):RECO_WORDTYPEinprog/include/recotyp.h:{ _32BIT_SGN_INT, _16BIT_SGN_INT, _8BIT_UNSGN_INT, _32BIT_FLOAT }visu_parsfiles store##$VisuCoreWordType=_8BIT_UNSGN_INTBecause the stored value never matches
_8BIT_USGN_INT, nonumpy_dtypebranch fires, the property is never set, andSchema.__init__raisesMissingProperty("numpy_dtype")— an 8-bit-unsigned2dseqcannot be loaded. The2dseqnumpy_dtypeselection has noACQ_sw_versiongate, so the failure is version-independent and depends only onVisuCoreWordType.Fix
Correct both occurrences (little- and big-endian branches) to
_8BIT_UNSGN_INT. The signed 16/32-bit and float branches were already correct.Public dataset that reproduces it
The MRIReco.jl Bruker test data contains a reconstruction stored as 8-bit unsigned:
sha256 c5a421aab7f3ea3fb20c469704db33c17b659861d9d77dbd29e353db2d5c8fc7)BrukerFile/2D_FLASH/pdata/7/— itsvisu_parshas##$VisuCoreWordType=_8BIT_UNSGN_INTand##$VisuCoreByteOrder=littleEndian.🤖 Generated with Claude Code