biolab / orange3

🍊 :bar_chart: :bulb: Orange: Interactive data analysis
https://orangedatamining.com
Other
4.85k stars 1.01k forks source link

Missing frequency-domain data analyses #4383

Closed Arkh42 closed 4 years ago

Arkh42 commented 4 years ago

Is your feature request related to a problem? Please describe. In my work I need to perform frequency-domain analyses (FFT, filtering...). It seems that none is available at the moment.

Describe the solution you'd like Need widgets similar to the existing ones where data can be pre-processed (digital filter) and then can be analyzed and plots (FFT, power spectral density).

Describe alternatives you've considered Currently I'm using "raw" numpy and matplotlib but it means I have to add custom python script in the Orange workflow.

Additional context Example for PSD: PSD_example

ajdapretnar commented 4 years ago

How about Quasar? Is this something that could be useful?

borondics commented 4 years ago

Quasar doesn't have this kind of frequency analysis, but it would be interesting to add widgets that allow more general data processing. If they are in a toolbox, we could include it into Quasar too.

markotoplak commented 4 years ago

@Arkh42, so you have some data in time domain which you then use FFT on? How are your input data formatted? Each column has a specific time point? What are rows then? Or vice-versa?

Arkh42 commented 4 years ago

@markotoplak yes I have time-domain data from measurements. I formatted the data into a pandas DataFrame, 1 column for time, 1 column for measurement. I know that I could have used time as row index but I don't want to make this choice right now. Then I need to go to frequency-domain for FFT, filtering, PSD and other processing/analyses.

Currently I am developing some widgets with a colleague, @VitorRamos, to integrate the few missing features I need into Orange. Of course we are still open to suggestions and ideas. :)

janezd commented 4 years ago

Do I understand correctly that this functionality will be implemented in an add-on? If so, can we close this issue?

Arkh42 commented 4 years ago

Yes, we are developing an add-on. For information, we are taking functions available in pandas. So we created a converter widget which uses the from_table() method. When we will create the pull request related to the add-on, do you want us to reopen the issue or do we directly connect the pull request to the issue?

ajdapretnar commented 4 years ago

I don't think there's a need to reopen the issue. This would be the case if this is something that we would consider merging to core Orange, but it looks like this is better suited for an add-on (correct me if I am wrong). If you will solve this in the add-on and publish it on PyPi, then let us know so we can consider promoting you add-on and potentially including it in our add-on list or in Quasar.

As a side note: you might want to check pandas_compat: https://github.com/biolab/orange3/blob/ef71048347bc4b453e99b671639d66f9d08c4116/Orange/data/pandas_compat.py