Quasars / orange-spectroscopy

Other
52 stars 58 forks source link

Warning with EMSC and __hash__ #662

Closed Bio-data-tricks closed 10 months ago

Bio-data-tricks commented 1 year ago

Hello everyone, I get a new error when I use the EMSC function in the python script widget.

`from orangecontrib.spectroscopy.preprocess.emsc import EMSC

data = in_datas[0] # the first connected widget reference = in_datas[1] # the second connected widget bad_spectra = in_datas[2] # the third connected widget

emsc = EMSC(reference=reference, badspectra=bad_spectra, order=4)

out_data = emsc(data)`

Running script: C:\Users\goff0007\AppData\Local\Programs\Quasar\lib\site-packages\Orange\data\util.py:81: UserWarning: _EMSC should define eq and hash to be used for compute_shared warnings.warn(f"{type(compute_shared).name} should define " C:\Users\goff0007\AppData\Local\Programs\Quasar\lib\site-packages\Orange\data\variable.py:378: UserWarning: EMSCFeature should define eq and hash to be used for compute_value or set InheritEq = True if inherited methods suffice warnings.warn(f"{type(compute_value).name} should define "

Do you have an idea to solve this problem ?

Thanks

Nicolas

markotoplak commented 1 year ago

What you see is not an error but a warning.

It is there to warn us developers that some column descriptors do not have all functionality defined and that some operations which rely on feature descriptors (like equivalence for data coming from different source, some from within Orange, some unpickled with processing) will not work properly in some (fortunately quite rare) cases. These cases are quite rare because bugs that this causes were in Orange for 10 years now. We already started fixing them but have not finished yet, here is a draft: #625.

Bio-data-tricks commented 1 year ago

Hi Marko, Thanks for your response.

Nicolas