Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add numpy to pre-release dependency build to test against numpy 2.0 #56

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ericpre
Copy link
Member

@ericpre ericpre commented Jun 8, 2024

  • Now that matplotlib and pint supports numpy 2.0.0rc, we can test against numpy 2.0.
  • Use compatible dev branch to support numpy 2

@ericpre
Copy link
Member Author

ericpre commented Jun 8, 2024

Failures
2024-06-08T08:18:57.6866750Z ============================= test session starts ==============================
2024-06-08T08:18:57.6867949Z platform linux -- Python 3.11.9, pytest-7.4.4, pluggy-1.5.0
2024-06-08T08:18:57.6868651Z Matplotlib: 3.9.0
2024-06-08T08:18:57.6869034Z Freetype: 2.6.1
2024-06-08T08:18:57.6869902Z rootdir: /home/runner/work/hyperspy-extensions-list/hyperspy-extensions-list
2024-06-08T08:18:57.6870945Z plugins: rerunfailures-14.0, mpl-0.17.0, xdist-3.5.0
2024-06-08T08:18:57.6871403Z created: 2/2 workers
2024-06-08T08:18:57.6872326Z 2 workers [4014 items]
2024-06-08T08:18:57.6872612Z 
2024-06-08T08:19:00.1166223Z .........................................RRRFRRRFRRRF................... [  1%]
2024-06-08T08:19:02.4533254Z ........................................................................ [  3%]
2024-06-08T08:19:04.7287848Z ........................................................................ [  5%]
2024-06-08T08:19:06.5122595Z ........................................................................ [  6%]
2024-06-08T08:19:10.6849152Z ........................................................................ [  8%]
2024-06-08T08:19:16.0947456Z ........................................................................ [ 10%]
2024-06-08T08:19:23.0415088Z ........................................................................ [ 12%]
2024-06-08T08:19:26.5151255Z ........................................................................ [ 14%]
2024-06-08T08:19:30.2367835Z ........................................................................ [ 15%]
2024-06-08T08:19:34.0293253Z ........................................................................ [ 17%]
2024-06-08T08:19:42.7753971Z ........................................................................ [ 19%]
2024-06-08T08:19:49.5003960Z ............................................s........................... [ 21%]
2024-06-08T08:19:58.5432696Z ........................................................................ [ 23%]
2024-06-08T08:20:09.8650029Z ........................................................................ [ 24%]
2024-06-08T08:20:19.2855106Z ................................R.RRF.RRR..F.RRRFR.RR..F................ [ 26%]
2024-06-08T08:20:28.3501929Z ........................................................................ [ 28%]
2024-06-08T08:20:39.6410222Z ........................................................................ [ 29%]
2024-06-08T08:20:43.4756110Z ........................................................................ [ 31%]
2024-06-08T08:20:45.7079129Z ........................................................................ [ 33%]
2024-06-08T08:20:48.3057822Z ........................................................................ [ 35%]
2024-06-08T08:20:51.1188858Z ........................................................................ [ 37%]
2024-06-08T08:20:53.9872418Z ........................................................................ [ 38%]
2024-06-08T08:20:57.4321152Z ................................R.........R..........R.........F.....R.. [ 40%]
2024-06-08T08:21:02.0812731Z R.R.F..R...R..R.......F.........R.........R.....R.........sFs..Rs.R...R. [ 42%]
2024-06-08T08:21:06.7356150Z ....................F....R.R...R..F...R...R..R.....FRRRF........R....... [ 43%]
2024-06-08T08:21:11.5787156Z .R.........R........F...R...R...R...F....R..RR.FRRRF....R...R...R...F... [ 45%]
2024-06-08T08:21:14.3807358Z ........................................................................ [ 46%]
2024-06-08T08:21:22.0217907Z ........................................s............................... [ 48%]
2024-06-08T08:21:31.6758982Z ........................................................................ [ 50%]
2024-06-08T08:21:37.9780779Z ........................................................................ [ 52%]
2024-06-08T08:21:44.8894657Z ........................................................................ [ 54%]
2024-06-08T08:21:49.1586005Z ........................................................................ [ 55%]
2024-06-08T08:21:58.9141392Z ........................................................................ [ 57%]
2024-06-08T08:22:14.4895367Z ....................................................x.................x. [ 59%]
2024-06-08T08:22:20.4391717Z ........................................................................ [ 61%]
2024-06-08T08:22:23.1561314Z ........................................................................ [ 63%]
2024-06-08T08:22:26.8686080Z ...s............s.s..................................................... [ 64%]
2024-06-08T08:22:32.3450799Z ..............................ss........................................ [ 66%]
2024-06-08T08:22:35.7006878Z ........................................................................ [ 68%]
2024-06-08T08:22:38.1019213Z ........................................................................ [ 70%]
2024-06-08T08:22:40.0974317Z ........................................................................ [ 72%]
2024-06-08T08:22:46.9327148Z ...............ss....................................................... [ 73%]
2024-06-08T08:22:52.7109607Z ........................................................................ [ 75%]
2024-06-08T08:22:55.4535814Z ........................................................................ [ 77%]
2024-06-08T08:22:58.8410275Z ........................................................................ [ 79%]
2024-06-08T08:23:01.1040584Z ........................................................................ [ 81%]
2024-06-08T08:23:06.1342950Z ......................................R...R..R......F.......R.RRFRRRFR.. [ 82%]
2024-06-08T08:23:10.6394082Z ..R...R...F.R.R.R........................F.............................. [ 84%]
2024-06-08T08:23:14.3932193Z ........................................................................ [ 86%]
2024-06-08T08:23:18.8485502Z ........................................................................ [ 87%]
2024-06-08T08:23:26.0643987Z ........................................................................ [ 89%]
2024-06-08T08:23:29.8955701Z ........................................................................ [ 91%]
2024-06-08T08:23:33.6041979Z ..........................s......s.......ss............................. [ 93%]
2024-06-08T08:23:37.9382836Z ................................................s...s................... [ 94%]
2024-06-08T08:23:43.0752551Z ......................s......................................ss....s.... [ 96%]
2024-06-08T08:23:51.5815062Z ........................................................................ [ 98%]
2024-06-08T08:24:31.5294235Z .........................................................                [100%]
2024-06-08T08:24:31.5295546Z =================================== FAILURES ===================================
2024-06-08T08:24:31.5296849Z ________________ TestDeprecationWarning.test_deprecation_since _________________
2024-06-08T08:24:31.5298464Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5299321Z 
2024-06-08T08:24:31.5300031Z self = <hyperspy.tests.test_decorators.TestDeprecationWarning object at 0x7fde4a9a9c10>
2024-06-08T08:24:31.5300825Z 
2024-06-08T08:24:31.5305487Z     def test_deprecation_since(self):
2024-06-08T08:24:31.5306544Z         """Ensure functions decorated with the custom deprecated
2024-06-08T08:24:31.5307307Z         decorator returns desired output, raises a desired warning, and
2024-06-08T08:24:31.5307808Z         gets the desired additions to their docstring.
2024-06-08T08:24:31.5308177Z         """
2024-06-08T08:24:31.5308374Z     
2024-06-08T08:24:31.5309213Z         @deprecated(since=0.7, alternative="bar", removal=0.8)
2024-06-08T08:24:31.5309865Z         def foo(n):
2024-06-08T08:24:31.5310219Z             """Some docstring."""
2024-06-08T08:24:31.5312488Z             return n + 1
2024-06-08T08:24:31.5313015Z     
2024-06-08T08:24:31.5313573Z >       with pytest.warns(np.VisibleDeprecationWarning) as record:
2024-06-08T08:24:31.5314117Z 
2024-06-08T08:24:31.5317546Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/test_decorators.py:40: 
2024-06-08T08:24:31.5318984Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5319722Z 
2024-06-08T08:24:31.5320239Z attr = 'VisibleDeprecationWarning'
2024-06-08T08:24:31.5320648Z 
2024-06-08T08:24:31.5320820Z     def __getattr__(attr):
2024-06-08T08:24:31.5321297Z         # Warn for expired attributes
2024-06-08T08:24:31.5321836Z         import warnings
2024-06-08T08:24:31.5322548Z     
2024-06-08T08:24:31.5322882Z         if attr == "linalg":
2024-06-08T08:24:31.5323396Z             import numpy.linalg as linalg
2024-06-08T08:24:31.5323726Z             return linalg
2024-06-08T08:24:31.5323976Z         elif attr == "fft":
2024-06-08T08:24:31.5324260Z             import numpy.fft as fft
2024-06-08T08:24:31.5324553Z             return fft
2024-06-08T08:24:31.5324797Z         elif attr == "dtypes":
2024-06-08T08:24:31.5325097Z             import numpy.dtypes as dtypes
2024-06-08T08:24:31.5325420Z             return dtypes
2024-06-08T08:24:31.5325668Z         elif attr == "random":
2024-06-08T08:24:31.5325963Z             import numpy.random as random
2024-06-08T08:24:31.5326276Z             return random
2024-06-08T08:24:31.5326542Z         elif attr == "polynomial":
2024-06-08T08:24:31.5326889Z             import numpy.polynomial as polynomial
2024-06-08T08:24:31.5327238Z             return polynomial
2024-06-08T08:24:31.5327505Z         elif attr == "ma":
2024-06-08T08:24:31.5327778Z             import numpy.ma as ma
2024-06-08T08:24:31.5328057Z             return ma
2024-06-08T08:24:31.5328297Z         elif attr == "ctypeslib":
2024-06-08T08:24:31.5328618Z             import numpy.ctypeslib as ctypeslib
2024-06-08T08:24:31.5328954Z             return ctypeslib
2024-06-08T08:24:31.5329223Z         elif attr == "exceptions":
2024-06-08T08:24:31.5329548Z             import numpy.exceptions as exceptions
2024-06-08T08:24:31.5329885Z             return exceptions
2024-06-08T08:24:31.5331319Z         elif attr == "testing":
2024-06-08T08:24:31.5331913Z             import numpy.testing as testing
2024-06-08T08:24:31.5332484Z             return testing
2024-06-08T08:24:31.5332951Z         elif attr == "matlib":
2024-06-08T08:24:31.5333495Z             import numpy.matlib as matlib
2024-06-08T08:24:31.5336694Z             return matlib
2024-06-08T08:24:31.5337154Z         elif attr == "f2py":
2024-06-08T08:24:31.5337698Z             import numpy.f2py as f2py
2024-06-08T08:24:31.5338239Z             return f2py
2024-06-08T08:24:31.5338663Z         elif attr == "typing":
2024-06-08T08:24:31.5339170Z             import numpy.typing as typing
2024-06-08T08:24:31.5339718Z             return typing
2024-06-08T08:24:31.5340143Z         elif attr == "rec":
2024-06-08T08:24:31.5340607Z             import numpy.rec as rec
2024-06-08T08:24:31.5341101Z             return rec
2024-06-08T08:24:31.5341503Z         elif attr == "char":
2024-06-08T08:24:31.5342000Z             import numpy.char as char
2024-06-08T08:24:31.5342527Z             return char
2024-06-08T08:24:31.5342958Z         elif attr == "array_api":
2024-06-08T08:24:31.5343689Z             raise AttributeError("`numpy.array_api` is not available from "
2024-06-08T08:24:31.5344832Z                                  "numpy 2.0 onwards")
2024-06-08T08:24:31.5345470Z         elif attr == "core":
2024-06-08T08:24:31.5345986Z             import numpy.core as core
2024-06-08T08:24:31.5346525Z             return core
2024-06-08T08:24:31.5346988Z         elif attr == "strings":
2024-06-08T08:24:31.5347526Z             import numpy.strings as strings
2024-06-08T08:24:31.5348108Z             return strings
2024-06-08T08:24:31.5348599Z         elif attr == "distutils":
2024-06-08T08:24:31.5349356Z             if 'distutils' in __numpy_submodules__:
2024-06-08T08:24:31.5350040Z                 import numpy.distutils as distutils
2024-06-08T08:24:31.5350633Z                 return distutils
2024-06-08T08:24:31.5351096Z             else:
2024-06-08T08:24:31.5351704Z                 raise AttributeError("`numpy.distutils` is not available from "
2024-06-08T08:24:31.5352519Z                                      "Python 3.12 onwards")
2024-06-08T08:24:31.5353084Z     
2024-06-08T08:24:31.5353470Z         if attr in __future_scalars__:
2024-06-08T08:24:31.5354192Z             # And future warnings for those that will change, but also give
2024-06-08T08:24:31.5354937Z             # the AttributeError
2024-06-08T08:24:31.5355434Z             warnings.warn(
2024-06-08T08:24:31.5356249Z                 f"In the future `np.{attr}` will be defined as the "
2024-06-08T08:24:31.5357080Z                 "corresponding NumPy scalar.", FutureWarning, stacklevel=2)
2024-06-08T08:24:31.5357749Z     
2024-06-08T08:24:31.5358075Z         if attr in __former_attrs__:
2024-06-08T08:24:31.5358659Z             raise AttributeError(__former_attrs__[attr])
2024-06-08T08:24:31.5359218Z     
2024-06-08T08:24:31.5359566Z         if attr in __expired_attributes__:
2024-06-08T08:24:31.5360106Z             raise AttributeError(
2024-06-08T08:24:31.5360731Z                 f"`np.{attr}` was removed in the NumPy 2.0 release. "
2024-06-08T08:24:31.5361433Z                 f"{__expired_attributes__[attr]}"
2024-06-08T08:24:31.5361986Z             )
2024-06-08T08:24:31.5362333Z     
2024-06-08T08:24:31.5362667Z         if attr == "chararray":
2024-06-08T08:24:31.5363148Z             warnings.warn(
2024-06-08T08:24:31.5363754Z                 "`np.chararray` is deprecated and will be removed from "
2024-06-08T08:24:31.5364664Z                 "the main namespace in the future. Use an array with a string "
2024-06-08T08:24:31.5365590Z                 "or bytes dtype instead.", DeprecationWarning, stacklevel=2)
2024-06-08T08:24:31.5366352Z             import numpy.char as char
2024-06-08T08:24:31.5366939Z             return char.chararray
2024-06-08T08:24:31.5367451Z     
2024-06-08T08:24:31.5367969Z >       raise AttributeError("module {!r} has no attribute "
2024-06-08T08:24:31.5368744Z                              "{!r}".format(__name__, attr))
2024-06-08T08:24:31.5369869Z E       AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
2024-06-08T08:24:31.5370597Z 
2024-06-08T08:24:31.5371317Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/numpy/__init__.py:410: AttributeError
2024-06-08T08:24:31.5372552Z ______________ TestDeprecationWarning.test_deprecation_no_old_doc ______________
2024-06-08T08:24:31.5373693Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5374320Z 
2024-06-08T08:24:31.5374852Z self = <hyperspy.tests.test_decorators.TestDeprecationWarning object at 0x7fde4a9a9010>
2024-06-08T08:24:31.5375610Z 
2024-06-08T08:24:31.5375822Z     def test_deprecation_no_old_doc(self):
2024-06-08T08:24:31.5376713Z         @deprecated(since=0.7, alternative="bar", removal=0.8)
2024-06-08T08:24:31.5377375Z         def foo(n):
2024-06-08T08:24:31.5377766Z             return n + 1
2024-06-08T08:24:31.5378158Z     
2024-06-08T08:24:31.5378682Z >       with pytest.warns(np.VisibleDeprecationWarning) as record:
2024-06-08T08:24:31.5379247Z 
2024-06-08T08:24:31.5379995Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/test_decorators.py:80: 
2024-06-08T08:24:31.5381337Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5381897Z 
2024-06-08T08:24:31.5382157Z attr = 'VisibleDeprecationWarning'
2024-06-08T08:24:31.5382537Z 
2024-06-08T08:24:31.5382691Z     def __getattr__(attr):
2024-06-08T08:24:31.5383166Z         # Warn for expired attributes
2024-06-08T08:24:31.5383667Z         import warnings
2024-06-08T08:24:31.5384061Z     
2024-06-08T08:24:31.5384391Z         if attr == "linalg":
2024-06-08T08:24:31.5384939Z             import numpy.linalg as linalg
2024-06-08T08:24:31.5385470Z             return linalg
2024-06-08T08:24:31.5385899Z         elif attr == "fft":
2024-06-08T08:24:31.5386348Z             import numpy.fft as fft
2024-06-08T08:24:31.5386838Z             return fft
2024-06-08T08:24:31.5387249Z         elif attr == "dtypes":
2024-06-08T08:24:31.5387814Z             import numpy.dtypes as dtypes
2024-06-08T08:24:31.5388411Z             return dtypes
2024-06-08T08:24:31.5388910Z         elif attr == "random":
2024-06-08T08:24:31.5389471Z             import numpy.random as random
2024-06-08T08:24:31.5390062Z             return random
2024-06-08T08:24:31.5390559Z         elif attr == "polynomial":
2024-06-08T08:24:31.5391177Z             import numpy.polynomial as polynomial
2024-06-08T08:24:31.5392066Z             return polynomial
2024-06-08T08:24:31.5392529Z         elif attr == "ma":
2024-06-08T08:24:31.5392975Z             import numpy.ma as ma
2024-06-08T08:24:31.5393446Z             return ma
2024-06-08T08:24:31.5393853Z         elif attr == "ctypeslib":
2024-06-08T08:24:31.5394391Z             import numpy.ctypeslib as ctypeslib
2024-06-08T08:24:31.5394958Z             return ctypeslib
2024-06-08T08:24:31.5395415Z         elif attr == "exceptions":
2024-06-08T08:24:31.5395957Z             import numpy.exceptions as exceptions
2024-06-08T08:24:31.5396532Z             return exceptions
2024-06-08T08:24:31.5396986Z         elif attr == "testing":
2024-06-08T08:24:31.5397484Z             import numpy.testing as testing
2024-06-08T08:24:31.5398033Z             return testing
2024-06-08T08:24:31.5398461Z         elif attr == "matlib":
2024-06-08T08:24:31.5398958Z             import numpy.matlib as matlib
2024-06-08T08:24:31.5399534Z             return matlib
2024-06-08T08:24:31.5399994Z         elif attr == "f2py":
2024-06-08T08:24:31.5400467Z             import numpy.f2py as f2py
2024-06-08T08:24:31.5400980Z             return f2py
2024-06-08T08:24:31.5401403Z         elif attr == "typing":
2024-06-08T08:24:31.5401896Z             import numpy.typing as typing
2024-06-08T08:24:31.5402434Z             return typing
2024-06-08T08:24:31.5402874Z         elif attr == "rec":
2024-06-08T08:24:31.5403326Z             import numpy.rec as rec
2024-06-08T08:24:31.5403816Z             return rec
2024-06-08T08:24:31.5404236Z         elif attr == "char":
2024-06-08T08:24:31.5404721Z             import numpy.char as char
2024-06-08T08:24:31.5405227Z             return char
2024-06-08T08:24:31.5405652Z         elif attr == "array_api":
2024-06-08T08:24:31.5406342Z             raise AttributeError("`numpy.array_api` is not available from "
2024-06-08T08:24:31.5407131Z                                  "numpy 2.0 onwards")
2024-06-08T08:24:31.5407704Z         elif attr == "core":
2024-06-08T08:24:31.5408179Z             import numpy.core as core
2024-06-08T08:24:31.5408682Z             return core
2024-06-08T08:24:31.5409155Z         elif attr == "strings":
2024-06-08T08:24:31.5409732Z             import numpy.strings as strings
2024-06-08T08:24:31.5410351Z             return strings
2024-06-08T08:24:31.5410855Z         elif attr == "distutils":
2024-06-08T08:24:31.5411584Z             if 'distutils' in __numpy_submodules__:
2024-06-08T08:24:31.5412301Z                 import numpy.distutils as distutils
2024-06-08T08:24:31.5412928Z                 return distutils
2024-06-08T08:24:31.5413377Z             else:
2024-06-08T08:24:31.5413983Z                 raise AttributeError("`numpy.distutils` is not available from "
2024-06-08T08:24:31.5415005Z                                      "Python 3.12 onwards")
2024-06-08T08:24:31.5415560Z     
2024-06-08T08:24:31.5415914Z         if attr in __future_scalars__:
2024-06-08T08:24:31.5416842Z             # And future warnings for those that will change, but also give
2024-06-08T08:24:31.5417584Z             # the AttributeError
2024-06-08T08:24:31.5418059Z             warnings.warn(
2024-06-08T08:24:31.5418626Z                 f"In the future `np.{attr}` will be defined as the "
2024-06-08T08:24:31.5419470Z                 "corresponding NumPy scalar.", FutureWarning, stacklevel=2)
2024-06-08T08:24:31.5420142Z     
2024-06-08T08:24:31.5420475Z         if attr in __former_attrs__:
2024-06-08T08:24:31.5421037Z             raise AttributeError(__former_attrs__[attr])
2024-06-08T08:24:31.5421605Z     
2024-06-08T08:24:31.5421965Z         if attr in __expired_attributes__:
2024-06-08T08:24:31.5422511Z             raise AttributeError(
2024-06-08T08:24:31.5423129Z                 f"`np.{attr}` was removed in the NumPy 2.0 release. "
2024-06-08T08:24:31.5423824Z                 f"{__expired_attributes__[attr]}"
2024-06-08T08:24:31.5424344Z             )
2024-06-08T08:24:31.5424655Z     
2024-06-08T08:24:31.5424977Z         if attr == "chararray":
2024-06-08T08:24:31.5425764Z             warnings.warn(
2024-06-08T08:24:31.5426354Z                 "`np.chararray` is deprecated and will be removed from "
2024-06-08T08:24:31.5427233Z                 "the main namespace in the future. Use an array with a string "
2024-06-08T08:24:31.5428265Z                 "or bytes dtype instead.", DeprecationWarning, stacklevel=2)
2024-06-08T08:24:31.5428975Z             import numpy.char as char
2024-06-08T08:24:31.5429483Z             return char.chararray
2024-06-08T08:24:31.5429922Z     
2024-06-08T08:24:31.5430352Z >       raise AttributeError("module {!r} has no attribute "
2024-06-08T08:24:31.5431036Z                              "{!r}".format(__name__, attr))
2024-06-08T08:24:31.5432041Z E       AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
2024-06-08T08:24:31.5432716Z 
2024-06-08T08:24:31.5433411Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/numpy/__init__.py:410: AttributeError
2024-06-08T08:24:31.5434625Z ________________ TestDeprecateArgument.test_deprecate_argument _________________
2024-06-08T08:24:31.5435883Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5436546Z 
2024-06-08T08:24:31.5437116Z self = <hyperspy.tests.test_decorators.TestDeprecateArgument object at 0x7fde4a9a9590>
2024-06-08T08:24:31.5437901Z 
2024-06-08T08:24:31.5438089Z     def test_deprecate_argument(self):
2024-06-08T08:24:31.5438793Z         """Functions decorated with the custom `deprecated_argument`
2024-06-08T08:24:31.5439695Z         decorator returns desired output and raises a desired warning
2024-06-08T08:24:31.5440449Z         only if the argument is passed.
2024-06-08T08:24:31.5440970Z         """
2024-06-08T08:24:31.5441302Z     
2024-06-08T08:24:31.5441633Z         class Foo:
2024-06-08T08:24:31.5442191Z             @deprecated_argument(name="a", since="1.3", removal="1.4")
2024-06-08T08:24:31.5442906Z             def bar_arg(self, **kwargs):
2024-06-08T08:24:31.5443437Z                 return kwargs
2024-06-08T08:24:31.5443881Z     
2024-06-08T08:24:31.5444475Z             @deprecated_argument(name="a", since="1.3", removal="1.4", alternative="b")
2024-06-08T08:24:31.5445303Z             def bar_arg_alt(self, **kwargs):
2024-06-08T08:24:31.5445855Z                 return kwargs
2024-06-08T08:24:31.5446284Z     
2024-06-08T08:24:31.5446597Z         my_foo = Foo()
2024-06-08T08:24:31.5446979Z     
2024-06-08T08:24:31.5447307Z         # Does not warn
2024-06-08T08:24:31.5447772Z         with warnings.catch_warnings():
2024-06-08T08:24:31.5448349Z             warnings.simplefilter("error")
2024-06-08T08:24:31.5448953Z             assert my_foo.bar_arg(b=1) == {"b": 1}
2024-06-08T08:24:31.5449494Z     
2024-06-08T08:24:31.5449816Z         # Warns
2024-06-08T08:24:31.5450643Z >       with pytest.warns(np.VisibleDeprecationWarning) as record1:
2024-06-08T08:24:31.5451226Z 
2024-06-08T08:24:31.5451985Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/test_decorators.py:119: 
2024-06-08T08:24:31.5453124Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5453665Z 
2024-06-08T08:24:31.5453934Z attr = 'VisibleDeprecationWarning'
2024-06-08T08:24:31.5454300Z 
2024-06-08T08:24:31.5454469Z     def __getattr__(attr):
2024-06-08T08:24:31.5455009Z         # Warn for expired attributes
2024-06-08T08:24:31.5455596Z         import warnings
2024-06-08T08:24:31.5456025Z     
2024-06-08T08:24:31.5456595Z         if attr == "linalg":
2024-06-08T08:24:31.5457156Z             import numpy.linalg as linalg
2024-06-08T08:24:31.5457756Z             return linalg
2024-06-08T08:24:31.5458213Z         elif attr == "fft":
2024-06-08T08:24:31.5458693Z             import numpy.fft as fft
2024-06-08T08:24:31.5459203Z             return fft
2024-06-08T08:24:31.5459626Z         elif attr == "dtypes":
2024-06-08T08:24:31.5460139Z             import numpy.dtypes as dtypes
2024-06-08T08:24:31.5460677Z             return dtypes
2024-06-08T08:24:31.5461217Z         elif attr == "random":
2024-06-08T08:24:31.5461976Z             import numpy.random as random
2024-06-08T08:24:31.5462514Z             return random
2024-06-08T08:24:31.5462972Z         elif attr == "polynomial":
2024-06-08T08:24:31.5463551Z             import numpy.polynomial as polynomial
2024-06-08T08:24:31.5464141Z             return polynomial
2024-06-08T08:24:31.5464609Z         elif attr == "ma":
2024-06-08T08:24:31.5465060Z             import numpy.ma as ma
2024-06-08T08:24:31.5465528Z             return ma
2024-06-08T08:24:31.5465943Z         elif attr == "ctypeslib":
2024-06-08T08:24:31.5466484Z             import numpy.ctypeslib as ctypeslib
2024-06-08T08:24:31.5467045Z             return ctypeslib
2024-06-08T08:24:31.5467512Z         elif attr == "exceptions":
2024-06-08T08:24:31.5468074Z             import numpy.exceptions as exceptions
2024-06-08T08:24:31.5468643Z             return exceptions
2024-06-08T08:24:31.5469105Z         elif attr == "testing":
2024-06-08T08:24:31.5469615Z             import numpy.testing as testing
2024-06-08T08:24:31.5470156Z             return testing
2024-06-08T08:24:31.5470592Z         elif attr == "matlib":
2024-06-08T08:24:31.5471092Z             import numpy.matlib as matlib
2024-06-08T08:24:31.5471617Z             return matlib
2024-06-08T08:24:31.5472046Z         elif attr == "f2py":
2024-06-08T08:24:31.5472516Z             import numpy.f2py as f2py
2024-06-08T08:24:31.5473012Z             return f2py
2024-06-08T08:24:31.5473430Z         elif attr == "typing":
2024-06-08T08:24:31.5473928Z             import numpy.typing as typing
2024-06-08T08:24:31.5474452Z             return typing
2024-06-08T08:24:31.5474933Z         elif attr == "rec":
2024-06-08T08:24:31.5475454Z             import numpy.rec as rec
2024-06-08T08:24:31.5476014Z             return rec
2024-06-08T08:24:31.5476466Z         elif attr == "char":
2024-06-08T08:24:31.5476985Z             import numpy.char as char
2024-06-08T08:24:31.5477516Z             return char
2024-06-08T08:24:31.5477946Z         elif attr == "array_api":
2024-06-08T08:24:31.5478670Z             raise AttributeError("`numpy.array_api` is not available from "
2024-06-08T08:24:31.5479469Z                                  "numpy 2.0 onwards")
2024-06-08T08:24:31.5480039Z         elif attr == "core":
2024-06-08T08:24:31.5480529Z             import numpy.core as core
2024-06-08T08:24:31.5481039Z             return core
2024-06-08T08:24:31.5481469Z         elif attr == "strings":
2024-06-08T08:24:31.5481998Z             import numpy.strings as strings
2024-06-08T08:24:31.5482546Z             return strings
2024-06-08T08:24:31.5483004Z         elif attr == "distutils":
2024-06-08T08:24:31.5483680Z             if 'distutils' in __numpy_submodules__:
2024-06-08T08:24:31.5484544Z                 import numpy.distutils as distutils
2024-06-08T08:24:31.5485217Z                 return distutils
2024-06-08T08:24:31.5485675Z             else:
2024-06-08T08:24:31.5486260Z                 raise AttributeError("`numpy.distutils` is not available from "
2024-06-08T08:24:31.5487071Z                                      "Python 3.12 onwards")
2024-06-08T08:24:31.5487632Z     
2024-06-08T08:24:31.5487983Z         if attr in __future_scalars__:
2024-06-08T08:24:31.5488699Z             # And future warnings for those that will change, but also give
2024-06-08T08:24:31.5489432Z             # the AttributeError
2024-06-08T08:24:31.5489922Z             warnings.warn(
2024-06-08T08:24:31.5490487Z                 f"In the future `np.{attr}` will be defined as the "
2024-06-08T08:24:31.5491331Z                 "corresponding NumPy scalar.", FutureWarning, stacklevel=2)
2024-06-08T08:24:31.5492009Z     
2024-06-08T08:24:31.5492347Z         if attr in __former_attrs__:
2024-06-08T08:24:31.5492953Z             raise AttributeError(__former_attrs__[attr])
2024-06-08T08:24:31.5493528Z     
2024-06-08T08:24:31.5493891Z         if attr in __expired_attributes__:
2024-06-08T08:24:31.5494502Z             raise AttributeError(
2024-06-08T08:24:31.5495199Z                 f"`np.{attr}` was removed in the NumPy 2.0 release. "
2024-06-08T08:24:31.5496227Z                 f"{__expired_attributes__[attr]}"
2024-06-08T08:24:31.5497658Z             )
2024-06-08T08:24:31.5498004Z     
2024-06-08T08:24:31.5498331Z         if attr == "chararray":
2024-06-08T08:24:31.5498808Z             warnings.warn(
2024-06-08T08:24:31.5499410Z                 "`np.chararray` is deprecated and will be removed from "
2024-06-08T08:24:31.5500302Z                 "the main namespace in the future. Use an array with a string "
2024-06-08T08:24:31.5501256Z                 "or bytes dtype instead.", DeprecationWarning, stacklevel=2)
2024-06-08T08:24:31.5502030Z             import numpy.char as char
2024-06-08T08:24:31.5502572Z             return char.chararray
2024-06-08T08:24:31.5503053Z     
2024-06-08T08:24:31.5503526Z >       raise AttributeError("module {!r} has no attribute "
2024-06-08T08:24:31.5504237Z                              "{!r}".format(__name__, attr))
2024-06-08T08:24:31.5505269Z E       AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
2024-06-08T08:24:31.5505963Z 
2024-06-08T08:24:31.5506680Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/numpy/__init__.py:410: AttributeError
2024-06-08T08:24:31.5507851Z _________________ TestPlotSpectra.test_plot_spectra_sync[1nav] _________________
2024-06-08T08:24:31.5508961Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5509565Z 
2024-06-08T08:24:31.5509820Z args = (), kwargs = {'figure': '1nav'}
2024-06-08T08:24:31.5510188Z 
2024-06-08T08:24:31.5510365Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5510965Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5511458Z 
2024-06-08T08:24:31.5512074Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5513096Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5514329Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5515491Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5516768Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5517828Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5518983Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5520056Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5521627Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal1d.py:178: in test_plot_spectra_sync
2024-06-08T08:24:31.5523181Z     s2 = s1.deepcopy() * -1
2024-06-08T08:24:31.5523654Z <string>:2: in __mul__
2024-06-08T08:24:31.5524051Z     ???
2024-06-08T08:24:31.5524540Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5525095Z 
2024-06-08T08:24:31.5525467Z self = <Signal1D, title: , dimensions: (3, 3|1024)>, other = -1
2024-06-08T08:24:31.5526181Z op_name = '__mul__'
2024-06-08T08:24:31.5526426Z 
2024-06-08T08:24:31.5526671Z     def _binary_operator_ruler(self, other, op_name):
2024-06-08T08:24:31.5527460Z         exception_message = "Invalid dimensions for this operation."
2024-06-08T08:24:31.5528194Z         if isinstance(other, BaseSignal):
2024-06-08T08:24:31.5528750Z             # Both objects are signals
2024-06-08T08:24:31.5529285Z             oam = other.axes_manager
2024-06-08T08:24:31.5529800Z             sam = self.axes_manager
2024-06-08T08:24:31.5530271Z             if (
2024-06-08T08:24:31.5530748Z                 sam.navigation_shape == oam.navigation_shape
2024-06-08T08:24:31.5531450Z                 and sam.signal_shape == oam.signal_shape
2024-06-08T08:24:31.5532028Z             ):
2024-06-08T08:24:31.5532443Z                 # They have the same signal shape.
2024-06-08T08:24:31.5533102Z                 # The signal axes are aligned but there is
2024-06-08T08:24:31.5534194Z                 # no guarantee that data axes area aligned so we make sure that
2024-06-08T08:24:31.5535076Z                 # they are aligned for the operation.
2024-06-08T08:24:31.5535798Z                 sdata = self._data_aligned_with_axes
2024-06-08T08:24:31.5536683Z                 odata = other._data_aligned_with_axes
2024-06-08T08:24:31.5537352Z                 if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5538067Z                     self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5538746Z                     self.axes_manager._sort_axes()
2024-06-08T08:24:31.5539316Z                     return self
2024-06-08T08:24:31.5539777Z                 else:
2024-06-08T08:24:31.5540396Z                     ns = self._deepcopy_with_new_data(getattr(sdata, op_name)(odata))
2024-06-08T08:24:31.5541180Z                     ns.axes_manager._sort_axes()
2024-06-08T08:24:31.5541740Z                     return ns
2024-06-08T08:24:31.5542190Z             else:
2024-06-08T08:24:31.5542664Z                 # Different navigation and/or signal shapes
2024-06-08T08:24:31.5543361Z                 if not are_signals_aligned(self, other):
2024-06-08T08:24:31.5544024Z                     raise ValueError(exception_message)
2024-06-08T08:24:31.5544590Z                 else:
2024-06-08T08:24:31.5545163Z                     # They are broadcastable but have different number of axes
2024-06-08T08:24:31.5545943Z                     ns, no = broadcast_signals(self, other)
2024-06-08T08:24:31.5546531Z                     sdata = ns.data
2024-06-08T08:24:31.5547017Z                     odata = no.data
2024-06-08T08:24:31.5547569Z                     if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5548273Z                         # This should raise a ValueError if the operation
2024-06-08T08:24:31.5549043Z                         # changes the shape of the object on the left.
2024-06-08T08:24:31.5549776Z                         self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5550454Z                         self.axes_manager._sort_axes()
2024-06-08T08:24:31.5551018Z                         return self
2024-06-08T08:24:31.5551491Z                     else:
2024-06-08T08:24:31.5551999Z                         ns.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5552594Z                         return ns
2024-06-08T08:24:31.5553033Z     
2024-06-08T08:24:31.5553338Z         else:
2024-06-08T08:24:31.5553754Z             # Second object is not a Signal
2024-06-08T08:24:31.5554429Z             if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5555117Z                 getattr(self.data, op_name)(other)
2024-06-08T08:24:31.5555740Z                 return self
2024-06-08T08:24:31.5556458Z             else:
2024-06-08T08:24:31.5557122Z >               return self._deepcopy_with_new_data(getattr(self.data, op_name)(other))
2024-06-08T08:24:31.5558231Z E               OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.5558805Z 
2024-06-08T08:24:31.5559515Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal.py:2571: OverflowError
2024-06-08T08:24:31.5560736Z ----------------------------- Captured stderr call -----------------------------
2024-06-08T08:24:31.5562361Z Downloading file 'face.dat' from 'https://raw.githubusercontent.com/scipy/dataset-face/main/face.dat' to '/home/runner/.cache/scipy-data'.
2024-06-08T08:24:31.5563900Z _________________ TestPlotSpectra.test_plot_spectra_sync[1sig] _________________
2024-06-08T08:24:31.5565018Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5565617Z 
2024-06-08T08:24:31.5565878Z args = (), kwargs = {'figure': '1sig'}
2024-06-08T08:24:31.5566250Z 
2024-06-08T08:24:31.5566431Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5567038Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5567519Z 
2024-06-08T08:24:31.5568144Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5569372Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5570601Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5571638Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5572796Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5573934Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5575199Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5576251Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5578039Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal1d.py:178: in test_plot_spectra_sync
2024-06-08T08:24:31.5579365Z     s2 = s1.deepcopy() * -1
2024-06-08T08:24:31.5579820Z <string>:2: in __mul__
2024-06-08T08:24:31.5580216Z     ???
2024-06-08T08:24:31.5580728Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5581273Z 
2024-06-08T08:24:31.5581647Z self = <Signal1D, title: , dimensions: (3, 3|1024)>, other = -1
2024-06-08T08:24:31.5582352Z op_name = '__mul__'
2024-06-08T08:24:31.5582608Z 
2024-06-08T08:24:31.5582855Z     def _binary_operator_ruler(self, other, op_name):
2024-06-08T08:24:31.5583648Z         exception_message = "Invalid dimensions for this operation."
2024-06-08T08:24:31.5584385Z         if isinstance(other, BaseSignal):
2024-06-08T08:24:31.5584995Z             # Both objects are signals
2024-06-08T08:24:31.5585521Z             oam = other.axes_manager
2024-06-08T08:24:31.5586040Z             sam = self.axes_manager
2024-06-08T08:24:31.5586511Z             if (
2024-06-08T08:24:31.5587002Z                 sam.navigation_shape == oam.navigation_shape
2024-06-08T08:24:31.5587721Z                 and sam.signal_shape == oam.signal_shape
2024-06-08T08:24:31.5588312Z             ):
2024-06-08T08:24:31.5588739Z                 # They have the same signal shape.
2024-06-08T08:24:31.5589400Z                 # The signal axes are aligned but there is
2024-06-08T08:24:31.5590198Z                 # no guarantee that data axes area aligned so we make sure that
2024-06-08T08:24:31.5590995Z                 # they are aligned for the operation.
2024-06-08T08:24:31.5591645Z                 sdata = self._data_aligned_with_axes
2024-06-08T08:24:31.5592280Z                 odata = other._data_aligned_with_axes
2024-06-08T08:24:31.5592991Z                 if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5593735Z                     self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5594716Z                     self.axes_manager._sort_axes()
2024-06-08T08:24:31.5595326Z                     return self
2024-06-08T08:24:31.5595801Z                 else:
2024-06-08T08:24:31.5596413Z                     ns = self._deepcopy_with_new_data(getattr(sdata, op_name)(odata))
2024-06-08T08:24:31.5597215Z                     ns.axes_manager._sort_axes()
2024-06-08T08:24:31.5597785Z                     return ns
2024-06-08T08:24:31.5598219Z             else:
2024-06-08T08:24:31.5598699Z                 # Different navigation and/or signal shapes
2024-06-08T08:24:31.5599395Z                 if not are_signals_aligned(self, other):
2024-06-08T08:24:31.5600058Z                     raise ValueError(exception_message)
2024-06-08T08:24:31.5600638Z                 else:
2024-06-08T08:24:31.5601223Z                     # They are broadcastable but have different number of axes
2024-06-08T08:24:31.5602003Z                     ns, no = broadcast_signals(self, other)
2024-06-08T08:24:31.5602611Z                     sdata = ns.data
2024-06-08T08:24:31.5603106Z                     odata = no.data
2024-06-08T08:24:31.5603654Z                     if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5604358Z                         # This should raise a ValueError if the operation
2024-06-08T08:24:31.5605633Z                         # changes the shape of the object on the left.
2024-06-08T08:24:31.5606367Z                         self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5607033Z                         self.axes_manager._sort_axes()
2024-06-08T08:24:31.5607605Z                         return self
2024-06-08T08:24:31.5608086Z                     else:
2024-06-08T08:24:31.5608589Z                         ns.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5609190Z                         return ns
2024-06-08T08:24:31.5609630Z     
2024-06-08T08:24:31.5609933Z         else:
2024-06-08T08:24:31.5610331Z             # Second object is not a Signal
2024-06-08T08:24:31.5610936Z             if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5611571Z                 getattr(self.data, op_name)(other)
2024-06-08T08:24:31.5612204Z                 return self
2024-06-08T08:24:31.5612684Z             else:
2024-06-08T08:24:31.5613365Z >               return self._deepcopy_with_new_data(getattr(self.data, op_name)(other))
2024-06-08T08:24:31.5614498Z E               OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.5615052Z 
2024-06-08T08:24:31.5615779Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal.py:2571: OverflowError
2024-06-08T08:24:31.5617243Z _________________ TestPlotSpectra.test_plot_spectra_sync[2nav] _________________
2024-06-08T08:24:31.5618371Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5618986Z 
2024-06-08T08:24:31.5619243Z args = (), kwargs = {'figure': '2nav'}
2024-06-08T08:24:31.5619619Z 
2024-06-08T08:24:31.5619797Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5620411Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5620901Z 
2024-06-08T08:24:31.5621513Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5622546Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5623753Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5624838Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5625984Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5627003Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5628150Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5629176Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5630968Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal1d.py:178: in test_plot_spectra_sync
2024-06-08T08:24:31.5632436Z     s2 = s1.deepcopy() * -1
2024-06-08T08:24:31.5632965Z <string>:2: in __mul__
2024-06-08T08:24:31.5633398Z     ???
2024-06-08T08:24:31.5633921Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5634473Z 
2024-06-08T08:24:31.5634856Z self = <Signal1D, title: , dimensions: (3, 3|1024)>, other = -1
2024-06-08T08:24:31.5635577Z op_name = '__mul__'
2024-06-08T08:24:31.5635822Z 
2024-06-08T08:24:31.5636067Z     def _binary_operator_ruler(self, other, op_name):
2024-06-08T08:24:31.5636857Z         exception_message = "Invalid dimensions for this operation."
2024-06-08T08:24:31.5637597Z         if isinstance(other, BaseSignal):
2024-06-08T08:24:31.5638155Z             # Both objects are signals
2024-06-08T08:24:31.5638685Z             oam = other.axes_manager
2024-06-08T08:24:31.5639198Z             sam = self.axes_manager
2024-06-08T08:24:31.5639672Z             if (
2024-06-08T08:24:31.5640146Z                 sam.navigation_shape == oam.navigation_shape
2024-06-08T08:24:31.5640826Z                 and sam.signal_shape == oam.signal_shape
2024-06-08T08:24:31.5641378Z             ):
2024-06-08T08:24:31.5642045Z                 # They have the same signal shape.
2024-06-08T08:24:31.5642688Z                 # The signal axes are aligned but there is
2024-06-08T08:24:31.5643469Z                 # no guarantee that data axes area aligned so we make sure that
2024-06-08T08:24:31.5644257Z                 # they are aligned for the operation.
2024-06-08T08:24:31.5644910Z                 sdata = self._data_aligned_with_axes
2024-06-08T08:24:31.5645552Z                 odata = other._data_aligned_with_axes
2024-06-08T08:24:31.5646169Z                 if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5646834Z                     self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5647500Z                     self.axes_manager._sort_axes()
2024-06-08T08:24:31.5648076Z                     return self
2024-06-08T08:24:31.5648525Z                 else:
2024-06-08T08:24:31.5649130Z                     ns = self._deepcopy_with_new_data(getattr(sdata, op_name)(odata))
2024-06-08T08:24:31.5649905Z                     ns.axes_manager._sort_axes()
2024-06-08T08:24:31.5650459Z                     return ns
2024-06-08T08:24:31.5650960Z             else:
2024-06-08T08:24:31.5651484Z                 # Different navigation and/or signal shapes
2024-06-08T08:24:31.5652243Z                 if not are_signals_aligned(self, other):
2024-06-08T08:24:31.5652946Z                     raise ValueError(exception_message)
2024-06-08T08:24:31.5653527Z                 else:
2024-06-08T08:24:31.5654113Z                     # They are broadcastable but have different number of axes
2024-06-08T08:24:31.5654917Z                     ns, no = broadcast_signals(self, other)
2024-06-08T08:24:31.5655527Z                     sdata = ns.data
2024-06-08T08:24:31.5656041Z                     odata = no.data
2024-06-08T08:24:31.5656974Z                     if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5657928Z                         # This should raise a ValueError if the operation
2024-06-08T08:24:31.5658769Z                         # changes the shape of the object on the left.
2024-06-08T08:24:31.5659530Z                         self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5660203Z                         self.axes_manager._sort_axes()
2024-06-08T08:24:31.5660783Z                         return self
2024-06-08T08:24:31.5661378Z                     else:
2024-06-08T08:24:31.5662100Z                         ns.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5662758Z                         return ns
2024-06-08T08:24:31.5663201Z     
2024-06-08T08:24:31.5663515Z         else:
2024-06-08T08:24:31.5663909Z             # Second object is not a Signal
2024-06-08T08:24:31.5664504Z             if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5665338Z                 getattr(self.data, op_name)(other)
2024-06-08T08:24:31.5665914Z                 return self
2024-06-08T08:24:31.5666337Z             else:
2024-06-08T08:24:31.5666966Z >               return self._deepcopy_with_new_data(getattr(self.data, op_name)(other))
2024-06-08T08:24:31.5668067Z E               OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.5668620Z 
2024-06-08T08:24:31.5669329Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal.py:2571: OverflowError
2024-06-08T08:24:31.5670612Z _________________ TestPlotSpectra.test_plot_spectra_sync[2sig] _________________
2024-06-08T08:24:31.5671843Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5672474Z 
2024-06-08T08:24:31.5672720Z args = (), kwargs = {'figure': '2sig'}
2024-06-08T08:24:31.5673111Z 
2024-06-08T08:24:31.5673288Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5673903Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5674404Z 
2024-06-08T08:24:31.5675013Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5676057Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5677520Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5678567Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5679740Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5680786Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5681933Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5682968Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5684590Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal1d.py:178: in test_plot_spectra_sync
2024-06-08T08:24:31.5685986Z     s2 = s1.deepcopy() * -1
2024-06-08T08:24:31.5686439Z <string>:2: in __mul__
2024-06-08T08:24:31.5686835Z     ???
2024-06-08T08:24:31.5687332Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5687881Z 
2024-06-08T08:24:31.5688301Z self = <Signal1D, title: , dimensions: (3, 3|1024)>, other = -1
2024-06-08T08:24:31.5689019Z op_name = '__mul__'
2024-06-08T08:24:31.5689267Z 
2024-06-08T08:24:31.5689529Z     def _binary_operator_ruler(self, other, op_name):
2024-06-08T08:24:31.5690310Z         exception_message = "Invalid dimensions for this operation."
2024-06-08T08:24:31.5691130Z         if isinstance(other, BaseSignal):
2024-06-08T08:24:31.5691757Z             # Both objects are signals
2024-06-08T08:24:31.5692351Z             oam = other.axes_manager
2024-06-08T08:24:31.5692927Z             sam = self.axes_manager
2024-06-08T08:24:31.5693430Z             if (
2024-06-08T08:24:31.5693917Z                 sam.navigation_shape == oam.navigation_shape
2024-06-08T08:24:31.5694639Z                 and sam.signal_shape == oam.signal_shape
2024-06-08T08:24:31.5695232Z             ):
2024-06-08T08:24:31.5695659Z                 # They have the same signal shape.
2024-06-08T08:24:31.5696558Z                 # The signal axes are aligned but there is
2024-06-08T08:24:31.5697380Z                 # no guarantee that data axes area aligned so we make sure that
2024-06-08T08:24:31.5698195Z                 # they are aligned for the operation.
2024-06-08T08:24:31.5698857Z                 sdata = self._data_aligned_with_axes
2024-06-08T08:24:31.5699512Z                 odata = other._data_aligned_with_axes
2024-06-08T08:24:31.5700152Z                 if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5700800Z                     self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5701459Z                     self.axes_manager._sort_axes()
2024-06-08T08:24:31.5702026Z                     return self
2024-06-08T08:24:31.5702708Z                 else:
2024-06-08T08:24:31.5703318Z                     ns = self._deepcopy_with_new_data(getattr(sdata, op_name)(odata))
2024-06-08T08:24:31.5704086Z                     ns.axes_manager._sort_axes()
2024-06-08T08:24:31.5704625Z                     return ns
2024-06-08T08:24:31.5705042Z             else:
2024-06-08T08:24:31.5705495Z                 # Different navigation and/or signal shapes
2024-06-08T08:24:31.5706149Z                 if not are_signals_aligned(self, other):
2024-06-08T08:24:31.5706796Z                     raise ValueError(exception_message)
2024-06-08T08:24:31.5707352Z                 else:
2024-06-08T08:24:31.5707898Z                     # They are broadcastable but have different number of axes
2024-06-08T08:24:31.5708661Z                     ns, no = broadcast_signals(self, other)
2024-06-08T08:24:31.5709245Z                     sdata = ns.data
2024-06-08T08:24:31.5709712Z                     odata = no.data
2024-06-08T08:24:31.5710338Z                     if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5711128Z                         # This should raise a ValueError if the operation
2024-06-08T08:24:31.5711960Z                         # changes the shape of the object on the left.
2024-06-08T08:24:31.5712962Z                         self.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5713663Z                         self.axes_manager._sort_axes()
2024-06-08T08:24:31.5714233Z                         return self
2024-06-08T08:24:31.5714728Z                     else:
2024-06-08T08:24:31.5715248Z                         ns.data = getattr(sdata, op_name)(odata)
2024-06-08T08:24:31.5715860Z                         return ns
2024-06-08T08:24:31.5716317Z     
2024-06-08T08:24:31.5716642Z         else:
2024-06-08T08:24:31.5717047Z             # Second object is not a Signal
2024-06-08T08:24:31.5717652Z             if op_name in INPLACE_OPERATORS:
2024-06-08T08:24:31.5718285Z                 getattr(self.data, op_name)(other)
2024-06-08T08:24:31.5718864Z                 return self
2024-06-08T08:24:31.5719286Z             else:
2024-06-08T08:24:31.5719911Z >               return self._deepcopy_with_new_data(getattr(self.data, op_name)(other))
2024-06-08T08:24:31.5721015Z E               OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.5721578Z 
2024-06-08T08:24:31.5722290Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal.py:2571: OverflowError
2024-06-08T08:24:31.5723565Z __________________ test_plot_contrast_editor[percentile0-0.7] __________________
2024-06-08T08:24:31.5724633Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5725227Z 
2024-06-08T08:24:31.5725671Z args = (), kwargs = {'gamma': 0.7, 'percentile': ['0.15th', '99.85th']}
2024-06-08T08:24:31.5726233Z 
2024-06-08T08:24:31.5726405Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5727017Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5727504Z 
2024-06-08T08:24:31.5728126Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5729190Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5730559Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5731710Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5732905Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5733969Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5735125Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5736174Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5737995Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:128: in test_plot_contrast_editor
2024-06-08T08:24:31.5739702Z     ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5740954Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5741920Z     self.plot_histogram()
2024-06-08T08:24:31.5742532Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5743071Z 
2024-06-08T08:24:31.5743510Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde10653ec0>
2024-06-08T08:24:31.5744299Z max_num_bins = 250
2024-06-08T08:24:31.5744551Z 
2024-06-08T08:24:31.5744770Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5745388Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5745891Z     
2024-06-08T08:24:31.5746210Z         Parameters
2024-06-08T08:24:31.5746626Z         ----------
2024-06-08T08:24:31.5746979Z         %s
2024-06-08T08:24:31.5747298Z     
2024-06-08T08:24:31.5747609Z         Returns
2024-06-08T08:24:31.5747994Z         -------
2024-06-08T08:24:31.5748352Z         None
2024-06-08T08:24:31.5748682Z     
2024-06-08T08:24:31.5748981Z         """
2024-06-08T08:24:31.5749348Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5749918Z             return
2024-06-08T08:24:31.5750622Z         data = self._get_data()
2024-06-08T08:24:31.5751194Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5752025Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5752757Z     
2024-06-08T08:24:31.5753079Z         # Sturges rule
2024-06-08T08:24:31.5753670Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5754840Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5755689Z 
2024-06-08T08:24:31.5756487Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5757818Z __________________ test_plot_contrast_editor[percentile0-1.2] __________________
2024-06-08T08:24:31.5758893Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5759501Z 
2024-06-08T08:24:31.5759950Z args = (), kwargs = {'gamma': 1.2, 'percentile': ['0.15th', '99.85th']}
2024-06-08T08:24:31.5760519Z 
2024-06-08T08:24:31.5760694Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5761308Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5761793Z 
2024-06-08T08:24:31.5762401Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5763429Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5764653Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5765685Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5766842Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5767875Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5769066Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5770201Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5771876Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:128: in test_plot_contrast_editor
2024-06-08T08:24:31.5773334Z     ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5774558Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5775550Z     self.plot_histogram()
2024-06-08T08:24:31.5776163Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5776916Z 
2024-06-08T08:24:31.5777352Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde112e8a40>
2024-06-08T08:24:31.5778374Z max_num_bins = 250
2024-06-08T08:24:31.5778627Z 
2024-06-08T08:24:31.5778851Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5779456Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5779947Z     
2024-06-08T08:24:31.5780261Z         Parameters
2024-06-08T08:24:31.5780661Z         ----------
2024-06-08T08:24:31.5780997Z         %s
2024-06-08T08:24:31.5781300Z     
2024-06-08T08:24:31.5781584Z         Returns
2024-06-08T08:24:31.5781962Z         -------
2024-06-08T08:24:31.5782292Z         None
2024-06-08T08:24:31.5782596Z     
2024-06-08T08:24:31.5782885Z         """
2024-06-08T08:24:31.5783232Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5783699Z             return
2024-06-08T08:24:31.5784073Z         data = self._get_data()
2024-06-08T08:24:31.5784557Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5785349Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5786064Z     
2024-06-08T08:24:31.5786378Z         # Sturges rule
2024-06-08T08:24:31.5786932Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5788107Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5789235Z 
2024-06-08T08:24:31.5790086Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5791429Z __________________ test_plot_contrast_editor[percentile1-0.7] __________________
2024-06-08T08:24:31.5792538Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5793189Z 
2024-06-08T08:24:31.5793691Z args = (), kwargs = {'gamma': 0.7, 'percentile': ['0.25th', '99.75th']}
2024-06-08T08:24:31.5794301Z 
2024-06-08T08:24:31.5794503Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5795171Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5795717Z 
2024-06-08T08:24:31.5796402Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5797545Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5798843Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5799949Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5801224Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5802365Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5803583Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5804649Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5806315Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:128: in test_plot_contrast_editor
2024-06-08T08:24:31.5807862Z     ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5809194Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5810246Z     self.plot_histogram()
2024-06-08T08:24:31.5810916Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5811512Z 
2024-06-08T08:24:31.5811994Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde144c1490>
2024-06-08T08:24:31.5812816Z max_num_bins = 250
2024-06-08T08:24:31.5813064Z 
2024-06-08T08:24:31.5813294Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5813901Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5814410Z     
2024-06-08T08:24:31.5814727Z         Parameters
2024-06-08T08:24:31.5815145Z         ----------
2024-06-08T08:24:31.5815496Z         %s
2024-06-08T08:24:31.5815815Z     
2024-06-08T08:24:31.5816114Z         Returns
2024-06-08T08:24:31.5816742Z         -------
2024-06-08T08:24:31.5817348Z         None
2024-06-08T08:24:31.5817691Z     
2024-06-08T08:24:31.5817994Z         """
2024-06-08T08:24:31.5818345Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5818838Z             return
2024-06-08T08:24:31.5819224Z         data = self._get_data()
2024-06-08T08:24:31.5819727Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5820513Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5821288Z     
2024-06-08T08:24:31.5821632Z         # Sturges rule
2024-06-08T08:24:31.5822259Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5823409Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5824306Z 
2024-06-08T08:24:31.5825151Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5826564Z __________________ test_plot_contrast_editor[percentile1-1.2] __________________
2024-06-08T08:24:31.5827676Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5828303Z 
2024-06-08T08:24:31.5828830Z args = (), kwargs = {'gamma': 1.2, 'percentile': ['0.25th', '99.75th']}
2024-06-08T08:24:31.5829748Z 
2024-06-08T08:24:31.5829971Z     def wrapper(*args, **kwargs):
2024-06-08T08:24:31.5830635Z >       store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5831130Z 
2024-06-08T08:24:31.5831808Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: 
2024-06-08T08:24:31.5832814Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5834096Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5835264Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5836592Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5837713Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5838884Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/pytest_mpl/plugin.py:125: in wrapper
2024-06-08T08:24:31.5839860Z     store.return_value[test_name] = obj(*args, **kwargs)
2024-06-08T08:24:31.5841309Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:128: in test_plot_contrast_editor
2024-06-08T08:24:31.5842629Z     ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5843722Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5844595Z     self.plot_histogram()
2024-06-08T08:24:31.5845131Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5845652Z 
2024-06-08T08:24:31.5846038Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde0fbfc950>
2024-06-08T08:24:31.5846744Z max_num_bins = 250
2024-06-08T08:24:31.5846978Z 
2024-06-08T08:24:31.5847178Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5847734Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5848176Z     
2024-06-08T08:24:31.5848473Z         Parameters
2024-06-08T08:24:31.5848852Z         ----------
2024-06-08T08:24:31.5849168Z         %s
2024-06-08T08:24:31.5849440Z     
2024-06-08T08:24:31.5849720Z         Returns
2024-06-08T08:24:31.5850068Z         -------
2024-06-08T08:24:31.5850361Z         None
2024-06-08T08:24:31.5850658Z     
2024-06-08T08:24:31.5850932Z         """
2024-06-08T08:24:31.5851260Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5851711Z             return
2024-06-08T08:24:31.5852059Z         data = self._get_data()
2024-06-08T08:24:31.5852515Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5853216Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5853868Z     
2024-06-08T08:24:31.5854143Z         # Sturges rule
2024-06-08T08:24:31.5854875Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5855926Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5856952Z 
2024-06-08T08:24:31.5857692Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5858821Z ____________________ test_plot_contrast_editor_norm[linear] ____________________
2024-06-08T08:24:31.5859825Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5860363Z 
2024-06-08T08:24:31.5860541Z norm = 'linear'
2024-06-08T08:24:31.5860761Z 
2024-06-08T08:24:31.5861134Z     @pytest.mark.parametrize("norm", ("linear", "log", "power", "symlog"))
2024-06-08T08:24:31.5861909Z     def test_plot_contrast_editor_norm(norm):
2024-06-08T08:24:31.5862471Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.5863019Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.5863642Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.5864228Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.5864675Z         s.plot(norm=norm)
2024-06-08T08:24:31.5865427Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5865866Z 
2024-06-08T08:24:31.5866654Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:142: 
2024-06-08T08:24:31.5867789Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5868909Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5869774Z     self.plot_histogram()
2024-06-08T08:24:31.5870319Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5870795Z 
2024-06-08T08:24:31.5871181Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde0f6bca40>
2024-06-08T08:24:31.5871910Z max_num_bins = 250
2024-06-08T08:24:31.5872128Z 
2024-06-08T08:24:31.5872329Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5872867Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5873333Z     
2024-06-08T08:24:31.5873625Z         Parameters
2024-06-08T08:24:31.5873996Z         ----------
2024-06-08T08:24:31.5874331Z         %s
2024-06-08T08:24:31.5874626Z     
2024-06-08T08:24:31.5874905Z         Returns
2024-06-08T08:24:31.5875255Z         -------
2024-06-08T08:24:31.5875576Z         None
2024-06-08T08:24:31.5875872Z     
2024-06-08T08:24:31.5876153Z         """
2024-06-08T08:24:31.5876491Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5876929Z             return
2024-06-08T08:24:31.5877289Z         data = self._get_data()
2024-06-08T08:24:31.5877751Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5878426Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5879089Z     
2024-06-08T08:24:31.5879394Z         # Sturges rule
2024-06-08T08:24:31.5879910Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5880936Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5881679Z 
2024-06-08T08:24:31.5882361Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5883408Z _____________________ test_plot_contrast_editor_norm[log] ______________________
2024-06-08T08:24:31.5884348Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5884929Z 
2024-06-08T08:24:31.5885101Z norm = 'log'
2024-06-08T08:24:31.5885297Z 
2024-06-08T08:24:31.5885650Z     @pytest.mark.parametrize("norm", ("linear", "log", "power", "symlog"))
2024-06-08T08:24:31.5886403Z     def test_plot_contrast_editor_norm(norm):
2024-06-08T08:24:31.5886961Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.5887745Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.5888370Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.5888940Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.5889412Z         s.plot(norm=norm)
2024-06-08T08:24:31.5889937Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5890459Z 
2024-06-08T08:24:31.5891263Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:142: 
2024-06-08T08:24:31.5892431Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5893588Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5894464Z     self.plot_histogram()
2024-06-08T08:24:31.5895032Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5895525Z 
2024-06-08T08:24:31.5895934Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde14654090>
2024-06-08T08:24:31.5896872Z max_num_bins = 250
2024-06-08T08:24:31.5897122Z 
2024-06-08T08:24:31.5897332Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5897895Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5898601Z     
2024-06-08T08:24:31.5898914Z         Parameters
2024-06-08T08:24:31.5899323Z         ----------
2024-06-08T08:24:31.5899652Z         %s
2024-06-08T08:24:31.5899953Z     
2024-06-08T08:24:31.5900235Z         Returns
2024-06-08T08:24:31.5900608Z         -------
2024-06-08T08:24:31.5900935Z         None
2024-06-08T08:24:31.5901248Z     
2024-06-08T08:24:31.5901546Z         """
2024-06-08T08:24:31.5901900Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5902364Z             return
2024-06-08T08:24:31.5902734Z         data = self._get_data()
2024-06-08T08:24:31.5903216Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5903930Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5904602Z     
2024-06-08T08:24:31.5904916Z         # Sturges rule
2024-06-08T08:24:31.5905459Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5906525Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5907314Z 
2024-06-08T08:24:31.5908031Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5909174Z ____________________ test_plot_contrast_editor_norm[power] _____________________
2024-06-08T08:24:31.5910134Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5910699Z 
2024-06-08T08:24:31.5910875Z norm = 'power'
2024-06-08T08:24:31.5911086Z 
2024-06-08T08:24:31.5911458Z     @pytest.mark.parametrize("norm", ("linear", "log", "power", "symlog"))
2024-06-08T08:24:31.5912214Z     def test_plot_contrast_editor_norm(norm):
2024-06-08T08:24:31.5912782Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.5913331Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.5913946Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.5914524Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.5914999Z         s.plot(norm=norm)
2024-06-08T08:24:31.5915517Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5915971Z 
2024-06-08T08:24:31.5916757Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:142: 
2024-06-08T08:24:31.5917945Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5919268Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5920252Z     self.plot_histogram()
2024-06-08T08:24:31.5920817Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5921311Z 
2024-06-08T08:24:31.5921927Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde18d62a70>
2024-06-08T08:24:31.5922680Z max_num_bins = 250
2024-06-08T08:24:31.5922935Z 
2024-06-08T08:24:31.5923141Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5923721Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5924193Z     
2024-06-08T08:24:31.5924506Z         Parameters
2024-06-08T08:24:31.5924924Z         ----------
2024-06-08T08:24:31.5925262Z         %s
2024-06-08T08:24:31.5925570Z     
2024-06-08T08:24:31.5925868Z         Returns
2024-06-08T08:24:31.5926236Z         -------
2024-06-08T08:24:31.5926558Z         None
2024-06-08T08:24:31.5926869Z     
2024-06-08T08:24:31.5927155Z         """
2024-06-08T08:24:31.5927510Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5927984Z             return
2024-06-08T08:24:31.5928351Z         data = self._get_data()
2024-06-08T08:24:31.5928826Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5929531Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5930184Z     
2024-06-08T08:24:31.5930504Z         # Sturges rule
2024-06-08T08:24:31.5931072Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5932346Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5933117Z 
2024-06-08T08:24:31.5933808Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5934970Z ____________________ test_plot_contrast_editor_norm[symlog] ____________________
2024-06-08T08:24:31.5935954Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5936693Z 
2024-06-08T08:24:31.5936888Z norm = 'symlog'
2024-06-08T08:24:31.5937122Z 
2024-06-08T08:24:31.5937529Z     @pytest.mark.parametrize("norm", ("linear", "log", "power", "symlog"))
2024-06-08T08:24:31.5938343Z     def test_plot_contrast_editor_norm(norm):
2024-06-08T08:24:31.5938896Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.5939433Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.5940068Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.5940650Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.5941118Z         s.plot(norm=norm)
2024-06-08T08:24:31.5941639Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5942095Z 
2024-06-08T08:24:31.5942890Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:142: 
2024-06-08T08:24:31.5944051Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5945209Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5946116Z     self.plot_histogram()
2024-06-08T08:24:31.5946660Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5947144Z 
2024-06-08T08:24:31.5947525Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde199d99e0>
2024-06-08T08:24:31.5948247Z max_num_bins = 250
2024-06-08T08:24:31.5948475Z 
2024-06-08T08:24:31.5948687Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5949245Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5949711Z     
2024-06-08T08:24:31.5950003Z         Parameters
2024-06-08T08:24:31.5950397Z         ----------
2024-06-08T08:24:31.5950730Z         %s
2024-06-08T08:24:31.5951024Z     
2024-06-08T08:24:31.5951315Z         Returns
2024-06-08T08:24:31.5951683Z         -------
2024-06-08T08:24:31.5952000Z         None
2024-06-08T08:24:31.5952299Z     
2024-06-08T08:24:31.5952581Z         """
2024-06-08T08:24:31.5952908Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5953352Z             return
2024-06-08T08:24:31.5953708Z         data = self._get_data()
2024-06-08T08:24:31.5954169Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5955076Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5955762Z     
2024-06-08T08:24:31.5956063Z         # Sturges rule
2024-06-08T08:24:31.5956597Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5957650Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5958408Z 
2024-06-08T08:24:31.5959102Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5960200Z ______________________ test_plot_contrast_editor_complex _______________________
2024-06-08T08:24:31.5961166Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5961715Z 
2024-06-08T08:24:31.5961913Z     def test_plot_contrast_editor_complex():
2024-06-08T08:24:31.5962479Z         s = hs.data.wave_image(random_state=0)
2024-06-08T08:24:31.5962974Z     
2024-06-08T08:24:31.5963289Z         fft = s.fft(True)
2024-06-08T08:24:31.5963733Z         fft.plot(True, vmin=None, vmax=None)
2024-06-08T08:24:31.5964354Z >       ceditor = ImageContrastEditor(fft._plot.signal_plot)
2024-06-08T08:24:31.5965015Z 
2024-06-08T08:24:31.5965790Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:156: 
2024-06-08T08:24:31.5966914Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5968048Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5968920Z     self.plot_histogram()
2024-06-08T08:24:31.5969454Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5969949Z 
2024-06-08T08:24:31.5970344Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde114a8590>
2024-06-08T08:24:31.5971104Z max_num_bins = 250
2024-06-08T08:24:31.5971333Z 
2024-06-08T08:24:31.5971546Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5972124Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5972593Z     
2024-06-08T08:24:31.5972886Z         Parameters
2024-06-08T08:24:31.5973288Z         ----------
2024-06-08T08:24:31.5973622Z         %s
2024-06-08T08:24:31.5973915Z     
2024-06-08T08:24:31.5974208Z         Returns
2024-06-08T08:24:31.5974569Z         -------
2024-06-08T08:24:31.5974898Z         None
2024-06-08T08:24:31.5975208Z     
2024-06-08T08:24:31.5975503Z         """
2024-06-08T08:24:31.5975847Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.5976474Z             return
2024-06-08T08:24:31.5976872Z         data = self._get_data()
2024-06-08T08:24:31.5977330Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.5978031Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.5978690Z     
2024-06-08T08:24:31.5978980Z         # Sturges rule
2024-06-08T08:24:31.5979519Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.5980571Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.5981325Z 
2024-06-08T08:24:31.5982033Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.5983132Z __________________ test_plot_constrast_editor_setting_changed __________________
2024-06-08T08:24:31.5984104Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.5984658Z 
2024-06-08T08:24:31.5984952Z     def test_plot_constrast_editor_setting_changed():
2024-06-08T08:24:31.5985547Z         # Test that changing setting works
2024-06-08T08:24:31.5986076Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.5986608Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.5987196Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.5988023Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.5988491Z         s.plot()
2024-06-08T08:24:31.5988943Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.5989387Z 
2024-06-08T08:24:31.5990191Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:171: 
2024-06-08T08:24:31.5991410Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5992589Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.5993543Z     self.plot_histogram()
2024-06-08T08:24:31.5994103Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.5994633Z 
2024-06-08T08:24:31.5995041Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde1042afc0>
2024-06-08T08:24:31.5995770Z max_num_bins = 250
2024-06-08T08:24:31.5996032Z 
2024-06-08T08:24:31.5996240Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.5996819Z         """Plot a histogram of the data.
2024-06-08T08:24:31.5997286Z     
2024-06-08T08:24:31.5997590Z         Parameters
2024-06-08T08:24:31.5997985Z         ----------
2024-06-08T08:24:31.5998311Z         %s
2024-06-08T08:24:31.5998853Z     
2024-06-08T08:24:31.5999152Z         Returns
2024-06-08T08:24:31.5999513Z         -------
2024-06-08T08:24:31.5999832Z         None
2024-06-08T08:24:31.6000141Z     
2024-06-08T08:24:31.6000431Z         """
2024-06-08T08:24:31.6000782Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6001230Z             return
2024-06-08T08:24:31.6001589Z         data = self._get_data()
2024-06-08T08:24:31.6002057Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6002770Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6003432Z     
2024-06-08T08:24:31.6003582Z         # Sturges rule
2024-06-08T08:24:31.6003875Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6004436Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6004445Z 
2024-06-08T08:24:31.6005138Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6005494Z _______________ test_plot_constrast_editor_auto_indices_changed ________________
2024-06-08T08:24:31.6005982Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6005991Z 
2024-06-08T08:24:31.6006259Z     def test_plot_constrast_editor_auto_indices_changed():
2024-06-08T08:24:31.6006430Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.6006667Z         data = rng.random(size=(10, 10, 100, 100)) * 1000
2024-06-08T08:24:31.6006965Z         data += np.arange(10 * 10 * 100 * 100).reshape((10, 10, 100, 100))
2024-06-08T08:24:31.6007120Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.6007257Z         s.plot()
2024-06-08T08:24:31.6007508Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6007516Z 
2024-06-08T08:24:31.6008297Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:211: 
2024-06-08T08:24:31.6008605Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6009280Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6009428Z     self.plot_histogram()
2024-06-08T08:24:31.6009709Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6009717Z 
2024-06-08T08:24:31.6010401Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde1054dd50>
2024-06-08T08:24:31.6010551Z max_num_bins = 250
2024-06-08T08:24:31.6010558Z 
2024-06-08T08:24:31.6010764Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6010944Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6011073Z     
2024-06-08T08:24:31.6011485Z         Parameters
2024-06-08T08:24:31.6011670Z         ----------
2024-06-08T08:24:31.6011807Z         %s
2024-06-08T08:24:31.6011926Z     
2024-06-08T08:24:31.6012054Z         Returns
2024-06-08T08:24:31.6012236Z         -------
2024-06-08T08:24:31.6012356Z         None
2024-06-08T08:24:31.6012471Z     
2024-06-08T08:24:31.6012605Z         """
2024-06-08T08:24:31.6012758Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6012887Z             return
2024-06-08T08:24:31.6013044Z         data = self._get_data()
2024-06-08T08:24:31.6013212Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6013579Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6013699Z     
2024-06-08T08:24:31.6013831Z         # Sturges rule
2024-06-08T08:24:31.6014125Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6014684Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6014692Z 
2024-06-08T08:24:31.6015405Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6015730Z _______________________ test_plot_constrast_editor_reset _______________________
2024-06-08T08:24:31.6016524Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6016535Z 
2024-06-08T08:24:31.6016745Z     def test_plot_constrast_editor_reset():
2024-06-08T08:24:31.6016916Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.6017110Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.6017337Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.6017501Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.6017637Z         s.plot()
2024-06-08T08:24:31.6017908Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6017916Z 
2024-06-08T08:24:31.6018702Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:234: 
2024-06-08T08:24:31.6019003Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6019695Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6019856Z     self.plot_histogram()
2024-06-08T08:24:31.6020142Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6020150Z 
2024-06-08T08:24:31.6020536Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde11562a20>
2024-06-08T08:24:31.6020674Z max_num_bins = 250
2024-06-08T08:24:31.6020681Z 
2024-06-08T08:24:31.6020888Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6021059Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6021184Z     
2024-06-08T08:24:31.6021331Z         Parameters
2024-06-08T08:24:31.6021501Z         ----------
2024-06-08T08:24:31.6021627Z         %s
2024-06-08T08:24:31.6021762Z     
2024-06-08T08:24:31.6021889Z         Returns
2024-06-08T08:24:31.6022053Z         -------
2024-06-08T08:24:31.6022183Z         None
2024-06-08T08:24:31.6022299Z     
2024-06-08T08:24:31.6022425Z         """
2024-06-08T08:24:31.6022602Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6022726Z             return
2024-06-08T08:24:31.6022873Z         data = self._get_data()
2024-06-08T08:24:31.6023052Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6023406Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6023528Z     
2024-06-08T08:24:31.6023673Z         # Sturges rule
2024-06-08T08:24:31.6023958Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6024540Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6024550Z 
2024-06-08T08:24:31.6025473Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6025815Z _______________________ test_plot_constrast_editor_apply _______________________
2024-06-08T08:24:31.6026274Z [gw0] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6026291Z 
2024-06-08T08:24:31.6026484Z     def test_plot_constrast_editor_apply():
2024-06-08T08:24:31.6026654Z         rng = np.random.default_rng(1)
2024-06-08T08:24:31.6026861Z         data = rng.random(size=(100, 100)) * 1000
2024-06-08T08:24:31.6027082Z         data += np.arange(100 * 100).reshape((100, 100))
2024-06-08T08:24:31.6027243Z         s = signals.Signal2D(data)
2024-06-08T08:24:31.6027369Z         s.plot()
2024-06-08T08:24:31.6027608Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6027615Z 
2024-06-08T08:24:31.6028394Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/drawing/test_plot_signal_tools.py:256: 
2024-06-08T08:24:31.6028711Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6029417Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6029584Z     self.plot_histogram()
2024-06-08T08:24:31.6030071Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6030079Z 
2024-06-08T08:24:31.6030464Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7fde120e7d30>
2024-06-08T08:24:31.6030598Z max_num_bins = 250
2024-06-08T08:24:31.6030606Z 
2024-06-08T08:24:31.6030801Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6030978Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6031096Z     
2024-06-08T08:24:31.6031232Z         Parameters
2024-06-08T08:24:31.6031414Z         ----------
2024-06-08T08:24:31.6031535Z         %s
2024-06-08T08:24:31.6031648Z     
2024-06-08T08:24:31.6031777Z         Returns
2024-06-08T08:24:31.6031932Z         -------
2024-06-08T08:24:31.6032069Z         None
2024-06-08T08:24:31.6032197Z     
2024-06-08T08:24:31.6032316Z         """
2024-06-08T08:24:31.6032470Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6032606Z             return
2024-06-08T08:24:31.6032758Z         data = self._get_data()
2024-06-08T08:24:31.6032921Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6033275Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6033388Z     
2024-06-08T08:24:31.6033518Z         # Sturges rule
2024-06-08T08:24:31.6033810Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6034356Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6034363Z 
2024-06-08T08:24:31.6035101Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6035477Z _________________ TestContrastEditorTool.test_reset_vmin_vmax __________________
2024-06-08T08:24:31.6035922Z [gw1] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6035930Z 
2024-06-08T08:24:31.6036548Z self = <hyperspy.tests.signals.test_image_contrast_editor_tool.TestContrastEditorTool object at 0x7f02246bc950>
2024-06-08T08:24:31.6036561Z 
2024-06-08T08:24:31.6036716Z     def test_reset_vmin_vmax(self):
2024-06-08T08:24:31.6036855Z         s = self.s
2024-06-08T08:24:31.6037019Z         s.plot(vmin="10th", vmax="99th")
2024-06-08T08:24:31.6037133Z     
2024-06-08T08:24:31.6037384Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6037390Z 
2024-06-08T08:24:31.6038222Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_image_contrast_editor_tool.py:36: 
2024-06-08T08:24:31.6038499Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6039316Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6039471Z     self.plot_histogram()
2024-06-08T08:24:31.6039748Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6039762Z 
2024-06-08T08:24:31.6040149Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7f01f44f6cf0>
2024-06-08T08:24:31.6040277Z max_num_bins = 250
2024-06-08T08:24:31.6040284Z 
2024-06-08T08:24:31.6040488Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6040656Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6040764Z     
2024-06-08T08:24:31.6040903Z         Parameters
2024-06-08T08:24:31.6041065Z         ----------
2024-06-08T08:24:31.6041185Z         %s
2024-06-08T08:24:31.6041303Z     
2024-06-08T08:24:31.6041422Z         Returns
2024-06-08T08:24:31.6041567Z         -------
2024-06-08T08:24:31.6041692Z         None
2024-06-08T08:24:31.6041807Z     
2024-06-08T08:24:31.6041927Z         """
2024-06-08T08:24:31.6042095Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6042223Z             return
2024-06-08T08:24:31.6042369Z         data = self._get_data()
2024-06-08T08:24:31.6042538Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6042879Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6043196Z     
2024-06-08T08:24:31.6043339Z         # Sturges rule
2024-06-08T08:24:31.6043618Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6044160Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6044178Z 
2024-06-08T08:24:31.6044833Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6045188Z _______________ TestContrastEditorTool.test_reset_span_selector ________________
2024-06-08T08:24:31.6045606Z [gw1] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6045613Z 
2024-06-08T08:24:31.6046238Z self = <hyperspy.tests.signals.test_image_contrast_editor_tool.TestContrastEditorTool object at 0x7f0224c26850>
2024-06-08T08:24:31.6046245Z 
2024-06-08T08:24:31.6046409Z     def test_reset_span_selector(self):
2024-06-08T08:24:31.6046551Z         s = self.s
2024-06-08T08:24:31.6046711Z         s.plot(vmin="10th", vmax="99th")
2024-06-08T08:24:31.6046954Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6046961Z 
2024-06-08T08:24:31.6047770Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_image_contrast_editor_tool.py:49: 
2024-06-08T08:24:31.6048047Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6048691Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6048834Z     self.plot_histogram()
2024-06-08T08:24:31.6049109Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6049124Z 
2024-06-08T08:24:31.6049524Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7f024cc34bd0>
2024-06-08T08:24:31.6049653Z max_num_bins = 250
2024-06-08T08:24:31.6049660Z 
2024-06-08T08:24:31.6049867Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6050031Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6050143Z     
2024-06-08T08:24:31.6050282Z         Parameters
2024-06-08T08:24:31.6050443Z         ----------
2024-06-08T08:24:31.6050563Z         %s
2024-06-08T08:24:31.6050685Z     
2024-06-08T08:24:31.6050803Z         Returns
2024-06-08T08:24:31.6050953Z         -------
2024-06-08T08:24:31.6051081Z         None
2024-06-08T08:24:31.6051191Z     
2024-06-08T08:24:31.6051305Z         """
2024-06-08T08:24:31.6051460Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6051577Z             return
2024-06-08T08:24:31.6051719Z         data = self._get_data()
2024-06-08T08:24:31.6051887Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6052393Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6052515Z     
2024-06-08T08:24:31.6052659Z         # Sturges rule
2024-06-08T08:24:31.6052933Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6053471Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6053488Z 
2024-06-08T08:24:31.6054143Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6054517Z ___________ TestContrastEditorTool.test_change_navigation_coordinate ___________
2024-06-08T08:24:31.6054938Z [gw1] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6054946Z 
2024-06-08T08:24:31.6055574Z self = <hyperspy.tests.signals.test_image_contrast_editor_tool.TestContrastEditorTool object at 0x7f022bdff5d0>
2024-06-08T08:24:31.6055582Z 
2024-06-08T08:24:31.6055800Z     def test_change_navigation_coordinate(self):
2024-06-08T08:24:31.6055939Z         s = self.s
2024-06-08T08:24:31.6056112Z         s.plot(vmin="10th", vmax="99th")
2024-06-08T08:24:31.6056567Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6056788Z 
2024-06-08T08:24:31.6057645Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_image_contrast_editor_tool.py:69: 
2024-06-08T08:24:31.6057934Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6058592Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6058745Z     self.plot_histogram()
2024-06-08T08:24:31.6059022Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6059030Z 
2024-06-08T08:24:31.6059437Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7f024cd14950>
2024-06-08T08:24:31.6059583Z max_num_bins = 250
2024-06-08T08:24:31.6059591Z 
2024-06-08T08:24:31.6059801Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6059972Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6060091Z     
2024-06-08T08:24:31.6060238Z         Parameters
2024-06-08T08:24:31.6060405Z         ----------
2024-06-08T08:24:31.6060525Z         %s
2024-06-08T08:24:31.6060646Z     
2024-06-08T08:24:31.6060768Z         Returns
2024-06-08T08:24:31.6060924Z         -------
2024-06-08T08:24:31.6061053Z         None
2024-06-08T08:24:31.6061167Z     
2024-06-08T08:24:31.6061286Z         """
2024-06-08T08:24:31.6061448Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6061573Z             return
2024-06-08T08:24:31.6061723Z         data = self._get_data()
2024-06-08T08:24:31.6061900Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6062264Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6062385Z     
2024-06-08T08:24:31.6062538Z         # Sturges rule
2024-06-08T08:24:31.6062828Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6063376Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6063405Z 
2024-06-08T08:24:31.6064091Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6064449Z ________________ TestContrastEditorTool.test_vmin_vmax_changed _________________
2024-06-08T08:24:31.6064871Z [gw1] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6064880Z 
2024-06-08T08:24:31.6065495Z self = <hyperspy.tests.signals.test_image_contrast_editor_tool.TestContrastEditorTool object at 0x7f022480db50>
2024-06-08T08:24:31.6065504Z 
2024-06-08T08:24:31.6065677Z     def test_vmin_vmax_changed(self):
2024-06-08T08:24:31.6065821Z         s = self.s
2024-06-08T08:24:31.6065990Z         s.plot(vmin="0th", vmax="100th")
2024-06-08T08:24:31.6066325Z     
2024-06-08T08:24:31.6066607Z >       ceditor = ImageContrastEditor(s._plot.signal_plot)
2024-06-08T08:24:31.6066617Z 
2024-06-08T08:24:31.6067507Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_image_contrast_editor_tool.py:82: 
2024-06-08T08:24:31.6067825Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6068497Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6068653Z     self.plot_histogram()
2024-06-08T08:24:31.6068960Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6068968Z 
2024-06-08T08:24:31.6069371Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7f01e9904950>
2024-06-08T08:24:31.6069515Z max_num_bins = 250
2024-06-08T08:24:31.6069530Z 
2024-06-08T08:24:31.6069741Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6069921Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6070050Z     
2024-06-08T08:24:31.6070179Z         Parameters
2024-06-08T08:24:31.6070346Z         ----------
2024-06-08T08:24:31.6070473Z         %s
2024-06-08T08:24:31.6070587Z     
2024-06-08T08:24:31.6070891Z         Returns
2024-06-08T08:24:31.6071060Z         -------
2024-06-08T08:24:31.6071183Z         None
2024-06-08T08:24:31.6071299Z     
2024-06-08T08:24:31.6071427Z         """
2024-06-08T08:24:31.6071582Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6071706Z             return
2024-06-08T08:24:31.6071860Z         data = self._get_data()
2024-06-08T08:24:31.6072024Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6072370Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6072492Z     
2024-06-08T08:24:31.6072625Z         # Sturges rule
2024-06-08T08:24:31.6072909Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6073464Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6073474Z 
2024-06-08T08:24:31.6074138Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6074437Z _____________________________ test_close_vmin_vmax _____________________________
2024-06-08T08:24:31.6074851Z [gw1] linux -- Python 3.11.9 /home/runner/miniconda3/envs/test/bin/python
2024-06-08T08:24:31.6074858Z 
2024-06-08T08:24:31.6075313Z     @pytest.mark.filterwarnings("ignore:FigureCanvasAgg is non-interactive")
2024-06-08T08:24:31.6075469Z     def test_close_vmin_vmax():
2024-06-08T08:24:31.6075720Z         data = np.random.random(10 * 10 * 10).reshape([10] * 3)
2024-06-08T08:24:31.6075881Z         s = hs.signals.Signal2D(data)
2024-06-08T08:24:31.6076013Z         s.plot()
2024-06-08T08:24:31.6076124Z     
2024-06-08T08:24:31.6076293Z         image_plot = s._plot.signal_plot
2024-06-08T08:24:31.6076458Z         display_range = (0.6, 0.9)
2024-06-08T08:24:31.6076573Z     
2024-06-08T08:24:31.6076771Z >       ceditor = ImageContrastEditor(image_plot)
2024-06-08T08:24:31.6076787Z 
2024-06-08T08:24:31.6077597Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_image_contrast_editor_tool.py:101: 
2024-06-08T08:24:31.6077873Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6078492Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:847: in __init__
2024-06-08T08:24:31.6078635Z     self.plot_histogram()
2024-06-08T08:24:31.6078914Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
2024-06-08T08:24:31.6078921Z 
2024-06-08T08:24:31.6079295Z self = <hyperspy.signal_tools.ImageContrastEditor object at 0x7f01e9c5ac00>
2024-06-08T08:24:31.6079428Z max_num_bins = 250
2024-06-08T08:24:31.6079434Z 
2024-06-08T08:24:31.6079632Z     def plot_histogram(self, max_num_bins=250):
2024-06-08T08:24:31.6079970Z         """Plot a histogram of the data.
2024-06-08T08:24:31.6080098Z     
2024-06-08T08:24:31.6080237Z         Parameters
2024-06-08T08:24:31.6080399Z         ----------
2024-06-08T08:24:31.6080517Z         %s
2024-06-08T08:24:31.6080644Z     
2024-06-08T08:24:31.6080764Z         Returns
2024-06-08T08:24:31.6080918Z         -------
2024-06-08T08:24:31.6081049Z         None
2024-06-08T08:24:31.6081161Z     
2024-06-08T08:24:31.6081278Z         """
2024-06-08T08:24:31.6081439Z         if self._vmin == self._vmax:
2024-06-08T08:24:31.6081562Z             return
2024-06-08T08:24:31.6081704Z         data = self._get_data()
2024-06-08T08:24:31.6081872Z         # masked data outside vmin/vmax
2024-06-08T08:24:31.6082209Z         data = np.ma.masked_outside(data, self._vmin, self._vmax).compressed()
2024-06-08T08:24:31.6082324Z     
2024-06-08T08:24:31.6082466Z         # Sturges rule
2024-06-08T08:24:31.6082738Z >       sturges_bin_width = data.ptp() / (np.log2(data.size) + 1.0)
2024-06-08T08:24:31.6083265Z E       AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6083273Z 
2024-06-08T08:24:31.6083929Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/signal_tools.py:948: AttributeError
2024-06-08T08:24:31.6084340Z =============================== warnings summary ===============================
2024-06-08T08:24:31.6085044Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/traits/observation/_generated_parser.py:258
2024-06-08T08:24:31.6085682Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/traits/observation/_generated_parser.py:258
2024-06-08T08:24:31.6086828Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/traits/observation/_generated_parser.py:258: DeprecationWarning: module 'sre_parse' is deprecated
2024-06-08T08:24:31.6086979Z     import sre_parse
2024-06-08T08:24:31.6086986Z 
2024-06-08T08:24:31.6087629Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/traits/observation/_generated_parser.py:259
2024-06-08T08:24:31.6088269Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/traits/observation/_generated_parser.py:259
2024-06-08T08:24:31.6089436Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/traits/observation/_generated_parser.py:259: DeprecationWarning: module 'sre_constants' is deprecated
2024-06-08T08:24:31.6089590Z     import sre_constants
2024-06-08T08:24:31.6089598Z 
2024-06-08T08:24:31.6090159Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/uncertainties/unumpy/core.py:23
2024-06-08T08:24:31.6090695Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/uncertainties/unumpy/core.py:23
2024-06-08T08:24:31.6094777Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/uncertainties/unumpy/core.py:23: DeprecationWarning: numpy.core is deprecated and has been renamed to numpy._core. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.numeric.
2024-06-08T08:24:31.6094953Z     from numpy.core import numeric
2024-06-08T08:24:31.6094960Z 
2024-06-08T08:24:31.6095498Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/numpy/_core/fromnumeric.py:102
2024-06-08T08:24:31.6096043Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/numpy/_core/fromnumeric.py:102
2024-06-08T08:24:31.6096535Z tests/signals/test_1D_tools.py::TestShift1D::test_crop_left
2024-06-08T08:24:31.6096833Z tests/signals/test_1D_tools.py::TestShift1D::test_crop_right
2024-06-08T08:24:31.6097133Z tests/signals/test_1D_tools.py::TestShift1D::test_lazy_crop_left
2024-06-08T08:24:31.6097442Z tests/signals/test_1D_tools.py::TestShift1D::test_lazy_crop_right
2024-06-08T08:24:31.6098012Z tests/signals/test_1D_tools.py::TestEstimatePeakWidth::test_two_peaks
2024-06-08T08:24:31.6099642Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/numpy/_core/fromnumeric.py:102: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
2024-06-08T08:24:31.6099916Z     return ufunc.reduce(obj, axis, bool, out, **passkwargs)
2024-06-08T08:24:31.6099933Z 
2024-06-08T08:24:31.6100457Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/jupyter_client/connect.py:22
2024-06-08T08:24:31.6100978Z ../../../miniconda3/envs/test/lib/python3.11/site-packages/jupyter_client/connect.py:22
2024-06-08T08:24:31.6102216Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/jupyter_client/connect.py:22: DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
2024-06-08T08:24:31.6102523Z   given by the platformdirs library.  To remove this warning and
2024-06-08T08:24:31.6102845Z   see the appropriate new directories, set the environment variable
2024-06-08T08:24:31.6103190Z   `JUPYTER_PLATFORM_DIRS=1` and then run `jupyter --paths`.
2024-06-08T08:24:31.6103495Z   The use of platformdirs will be the default in `jupyter_core` v6
2024-06-08T08:24:31.6104131Z     from jupyter_core.paths import jupyter_data_dir, jupyter_runtime_dir, secure_write
2024-06-08T08:24:31.6104139Z 
2024-06-08T08:24:31.6104344Z tests/drawing/test_plot_roi_map.py: 69 warnings
2024-06-08T08:24:31.6106172Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/drawing/utils.py:1876: DeprecationWarning: __array__ implementation doesn't accept a copy keyword, so passing copy=False failed. __array__ must implement 'dtype' and 'copy' keyword arguments.
2024-06-08T08:24:31.6106378Z     out.data[:] = f(sliced_signal, axis=axes)
2024-06-08T08:24:31.6106385Z 
2024-06-08T08:24:31.6106700Z tests/signals/test_2D.py::Test2D::test_numpy_unfunc_one_arg_titled
2024-06-08T08:24:31.6107045Z tests/signals/test_2D.py::Test2D::test_lazy_numpy_unfunc_one_arg_titled
2024-06-08T08:24:31.6108731Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_2D.py:365: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
2024-06-08T08:24:31.6108904Z     result = np.exp(self.signal)
2024-06-08T08:24:31.6108911Z 
2024-06-08T08:24:31.6109242Z tests/signals/test_2D.py::Test2D::test_numpy_unfunc_one_arg_untitled
2024-06-08T08:24:31.6109589Z tests/signals/test_2D.py::Test2D::test_lazy_numpy_unfunc_one_arg_untitled
2024-06-08T08:24:31.6111249Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_2D.py:371: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
2024-06-08T08:24:31.6111413Z     result = np.exp(self.signal)
2024-06-08T08:24:31.6111421Z 
2024-06-08T08:24:31.6111728Z tests/signals/test_2D.py::Test2D::test_numpy_unfunc_two_arg_titled
2024-06-08T08:24:31.6112057Z tests/signals/test_2D.py::Test2D::test_lazy_numpy_unfunc_two_arg_titled
2024-06-08T08:24:31.6113680Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_2D.py:378: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
2024-06-08T08:24:31.6113830Z     result = np.add(s1, s2)
2024-06-08T08:24:31.6113837Z 
2024-06-08T08:24:31.6114156Z tests/signals/test_2D.py::Test2D::test_numpy_unfunc_two_arg_untitled
2024-06-08T08:24:31.6114487Z tests/signals/test_2D.py::Test2D::test_lazy_numpy_unfunc_two_arg_untitled
2024-06-08T08:24:31.6116129Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_2D.py:385: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
2024-06-08T08:24:31.6116274Z     result = np.add(s1, s2)
2024-06-08T08:24:31.6116282Z 
2024-06-08T08:24:31.6116626Z tests/signals/test_2D_tools.py: 360 warnings
2024-06-08T08:24:31.6119526Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/numpy/fft/_pocketfft.py:885: DeprecationWarning: `axes` should not be `None` if `s` is not `None` (Deprecated in NumPy 2.0). In a future version of NumPy, this will raise an error and `s[i]` will correspond to the size along the transformed axis specified by `axes[i]`. To retain current behaviour, pass a sequence [0, ..., k-1] to `axes` for an array of dimension k.
2024-06-08T08:24:31.6119776Z     return _raw_fftnd(a, s, axes, fft, norm, out=out)
2024-06-08T08:24:31.6119785Z 
2024-06-08T08:24:31.6119977Z tests/signals/test_2D_tools.py: 100 warnings
2024-06-08T08:24:31.6122941Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/_signals/signal2d.py:143: DeprecationWarning: `axes` should not be `None` if `s` is not `None` (Deprecated in NumPy 2.0). In a future version of NumPy, this will raise an error and `s[i]` will correspond to the size along the transformed axis specified by `axes[i]`. To retain current behaviour, pass a sequence [0, ..., k-1] to `axes` for an array of dimension k.
2024-06-08T08:24:31.6123108Z     fprod = fft_f(in1, fsize)
2024-06-08T08:24:31.6123287Z 
2024-06-08T08:24:31.6123489Z tests/signals/test_2D_tools.py: 100 warnings
2024-06-08T08:24:31.6126427Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/_signals/signal2d.py:144: DeprecationWarning: `axes` should not be `None` if `s` is not `None` (Deprecated in NumPy 2.0). In a future version of NumPy, this will raise an error and `s[i]` will correspond to the size along the transformed axis specified by `axes[i]`. To retain current behaviour, pass a sequence [0, ..., k-1] to `axes` for an array of dimension k.
2024-06-08T08:24:31.6126628Z     fprod *= fft_f(in2, fsize).conjugate()
2024-06-08T08:24:31.6126636Z 
2024-06-08T08:24:31.6126850Z tests/signals/test_map_method.py::test_map_ufunc
2024-06-08T08:24:31.6128660Z   /home/runner/miniconda3/envs/test/lib/python3.11/site-packages/hyperspy/tests/signals/test_map_method.py:901: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
2024-06-08T08:24:31.6128845Z     assert np.log(s) == s.map(np.log)
2024-06-08T08:24:31.6128854Z 
2024-06-08T08:24:31.6129299Z -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
2024-06-08T08:24:31.6129557Z =========================== short test summary info ============================
2024-06-08T08:24:31.6130601Z FAILED tests/test_decorators.py::TestDeprecationWarning::test_deprecation_since - AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
2024-06-08T08:24:31.6131727Z FAILED tests/test_decorators.py::TestDeprecationWarning::test_deprecation_no_old_doc - AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
2024-06-08T08:24:31.6132788Z FAILED tests/test_decorators.py::TestDeprecateArgument::test_deprecate_argument - AttributeError: module 'numpy' has no attribute 'VisibleDeprecationWarning'
2024-06-08T08:24:31.6133747Z FAILED tests/drawing/test_plot_signal1d.py::TestPlotSpectra::test_plot_spectra_sync[1nav] - OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.6134736Z FAILED tests/drawing/test_plot_signal1d.py::TestPlotSpectra::test_plot_spectra_sync[1sig] - OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.6135692Z FAILED tests/drawing/test_plot_signal1d.py::TestPlotSpectra::test_plot_spectra_sync[2nav] - OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.6136866Z FAILED tests/drawing/test_plot_signal1d.py::TestPlotSpectra::test_plot_spectra_sync[2sig] - OverflowError: Python integer -1 out of bounds for uint8
2024-06-08T08:24:31.6138130Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor[percentile0-0.7] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6139588Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor[percentile0-1.2] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6140825Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor[percentile1-0.7] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6142035Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor[percentile1-1.2] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6143231Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor_norm[linear] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6144399Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor_norm[log] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6145631Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor_norm[power] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6147000Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor_norm[symlog] - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6148138Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_contrast_editor_complex - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6149343Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_constrast_editor_setting_changed - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6150575Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_constrast_editor_auto_indices_changed - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6151783Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_constrast_editor_reset - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6153102Z FAILED tests/drawing/test_plot_signal_tools.py::test_plot_constrast_editor_apply - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6154507Z FAILED tests/signals/test_image_contrast_editor_tool.py::TestContrastEditorTool::test_reset_vmin_vmax - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6155930Z FAILED tests/signals/test_image_contrast_editor_tool.py::TestContrastEditorTool::test_reset_span_selector - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6157429Z FAILED tests/signals/test_image_contrast_editor_tool.py::TestContrastEditorTool::test_change_navigation_coordinate - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6158927Z FAILED tests/signals/test_image_contrast_editor_tool.py::TestContrastEditorTool::test_vmin_vmax_changed - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6160144Z FAILED tests/signals/test_image_contrast_editor_tool.py::test_close_vmin_vmax - AttributeError: `ptp` was removed from the ndarray class in NumPy 2.0. Use np.ptp(arr, ...) instead.
2024-06-08T08:24:31.6160630Z = 25 failed, 3965 passed, 23 skipped, 2 xfailed, 653 warnings, 75 rerun in 340.85s (0:05:40) =

@ericpre
Copy link
Member Author

ericpre commented Jun 24, 2024

Failure are now related to quaternion: moble/quaternion#229.

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.

1 participant