You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sample.elements, metadata groups and segment times of Velox single spectra (#44)
Features
beam energy and angles of a Velox EELS spectrum image (#43) (326bb5c)
camera pixel pitch from a GMS TIFF tag 65027 stream (#56) (ef7ad05)
camera pixel pitch of a DM image object (AcquisitionMetadata.cameraPixelPitch) (#48) (9db1d9e)
deprecate internal-only public helpers, drop dead code, split VeloxEMDReader.swift (#34) (6930401)
Sample.elements, metadata groups and segment times of Velox single spectra (#44) (d941fad)
TIFF series the reader cannot place are refused by name (TIFFError.unsupportedSeries) (#62) (1978c85)
TIFF vendor pixel sizes for Zeiss SEM, TVIPS and JEOL SightX (TIFFVendorBranches.readWithVendorAxes) (#63) (9ea6acc)
Velox spectrum images map Sample.elements as RosettaSciIO and HyperSpy do (#57) (9d8c1d7)
Bug Fixes
bound the total Velox metadata bytes the per-frame reads walk (#40) (59f99d3)
cap the Velox frame counts read from the file (#38) (90a1bc0)
DM4Datacube reads a scan-shaped rank-3 object as 4D; more than four dimensions and DM3 length 0 refused by name (#46) (455872f)
EMPAD scan extents come from the mode acquire scan_parameters block wherever it sits (#51) (25810ce)
HDF5 scratch files are written without a file lock, so a read right after a write no longer fails with errno 35 (#58) (5c1a7cd)
libhdf5 xcframework zips without AppleDouble entries, checked with codesign --strict (ad07f24)
MIB app convention reads a header without, or against, its detector shape by the assembly (#50) (b3107cc)
tools: byte-reproducible fixture generators (fixed emdfile UUID, fixed day for Velox zone names) and correct refuter-pins generator credits (fd3fc47)
Performance Improvements
tile the DM4 scan-fastest gather (whole scan 420 ms to 68 ms) (#70) (185bda2)
Fixtures and tests
acquire block first and last, default and preferScanResolution, read 2 x 3 equal to the raw bytes (red before: the search block 9 x 9 failed the length check); series_count from the last block. Gate green; also compiled and run with Xcode 26.6. (25810ce)
data-dependent tests show as skipped; the real-data Peek check moves to the parity target (#42) (85142dc)
EMD version attributes are int64 as py4DSTEM writes them, and int32 files are read (#52) (16eb9dc)
no child process copies an HDF5 write lock, so write-then-read tests stop flaking (#54) (47e44f7), closes #49
one generated fixture index, one Python environment and one References path for the generators (#64) (bb79a72)
planted copies of the five app fixtures with blank and disagreeing width and height read equal to the pinned bytes (red before: Invalid detector shape). Gate green; also compiled and run with Xcode 26.6. (b3107cc)
step-1-pins.json is now dm-velox-pins.json (the DM and Velox reader pins; a name, no number changes) (3e581d7)
step-2-pins.json is now tiff-pins.json (the TIFF reader pins; a name, no number changes) (3e581d7)
step-3-pins.json is now velox-titles-pins.json (the Velox title pins; a name, no number changes) (3e581d7)
step-3-refuter-pins.json is now velox-titles-refuter-pins.json (a name, no number changes) (3e581d7)
step-4-pins.json is now velox-spectrum-image-pins.json (the Velox spectrum-image pins; a name, no number changes) (3e581d7)
step-4-refuter-pins.json is now velox-spectrum-image-refuter-pins.json (a name, no number changes) (3e581d7)
the refuter-step3 fixture folder is now velox-titles-refuter (the Velox title review files; a name, no number changes) (3e581d7)
the step4 fixture folder is now velox-spectrum-image (the Velox spectrum-image fixtures; a name, no number changes) (3e581d7)