Skip to content

OverflowError while loading EDAX SPD datasets from an old µXRF system #480

@kleinerELM

Description

@kleinerELM

Describe the bug

I Get the error "OverflowError: Python int too large to convert to C long" using hyperspy to load an EDAX SPD file under windows
I have a very large (14Gig) EDAX *.SPD map. Furthermore it is propably incomplete, since the measurement stopped inbetween. But it is readable without an issue using the EDAX software. And the same error occurs while loading other big maps.
The error occurs at hs.load(), no matter if I set lazy to True or False

To Reproduce

import hyperspy.api as hs
s = hs.load("ABCD.spd", lazy=True)

If you are interested in the datasets, you can download them here:

https://nextcloud.uni-weimar.de/s/A564WdQD4AZRT7z
pass: hyperspy

Expected behavior

it should load the dataset (at least the complete one) without error.

Python environment:

Python: 3.13.11 | packaged by Anaconda, Inc. | (main, Dec 10 2025, 21:21:58) [MSC v.1929 64 bit (AMD64)]
Architektur: ('64bit', 'WindowsPE')
sys.maxsize: 9223372036854775807
HyperSpy-Version: 2.4.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions