Hi all, I have a question about saving large datasets. Is there any way of "saving lazily"? If, for example, I don't have at least 128 GiB of memory the following will run out of memory and crash:
import hyperspy.api as hs import dask.array as da data = da.random.random((512, 512, 256, 256)) s = hs.signals.Signal2D(data).as_lazy() s.save('save_test.hspy')
I see that using Zarr will probably solve this (hyperspy/hyperspy#2825), but I actually want to save the data as a Blockfile. Is that possible?
I need to make use of non-uniform-axes functionality, I notice there used to be a branch for this, but this has since been incorporated into NEXT_MINOR_RELEASE, which I guess isn't stable as it's still being worked on. I'm wondering what's best for me to do here? How long will it be before NEXT_MINOR_RELEASE?
I'm actually a LumiSpy user, but their recommendation is to install this non-uniform-axes branch which no longer exists 🤔.
In any case, thanks for the great library, incredibly useful for me.
pip install https://github.com/hyperspy/hyperspy/archive/refs/heads/RELEASE_next_minor.zip
interactive(), but do not find such a example in the online-documentation page.
I am using VSCode as an IDE. I use the jupyter plugin that enables jupyter notebooks to be used in the interface of VSCode. Everything was working well until recently. Now when I have a cell with :
import hyperspy.api as hs
The kernel dies. It is working well with
import hyperspy though. Is that a known issue ? Is anybody else using VSCode and the hyperspy api ?
Is there a way of adapting 'fit_component' function to work using multiple threads on a CPU? The only mention of parallel processes that I found in the docs was in SAMFire and in the map function. I have a relatively specific order of component fits (for EELS core-loss data) that I wouldn't want to change. Any advice on how to approach this would be appreciated!
(I just recently got my hands on a computer, where parallelising would save a significant amount of time)
Hello, i have a followup question for my question above.
I want to contribute to a package that already excist (The eds packages). How would i go about using my contribution? By forking the repo and including my methodes in the relevant classes or should i create my own class, and have that inherit from eds? In the latter case, i am struggeling to get the inheritance to work properly, i have written some code, but when i try to apply my method too a dataset it exclaim that EDSSpectrum does not have the attribute, should correct inheritance not fix this? Or is the only way to create my code in a forked repo of the relevant signal?
This might be a trivial question but i cant seem to find the answer. (Maybe i lack some understandig of classes)