Giter Club home page Giter Club logo

wavy's Introduction

Hi there 👋

As a full-stack Python 🐍 developer and researcher, involved and interested in scientific applications, I have extensive knowledge in areas such as Computing, Physics, Electronics, Engineering, and Mathematics. This is part of my T-shaped personality, and I have been using this to build and integrate many solutions everywhere I work. I'm the creator of the Python PyMR framework for programming Magnetic Resonance systems, which incorporates all those concepts.

Formally I’m PhD in Science with an emphasis in Computational Physics. I’m also experient in managing projects and people (8+), creating reports (12+), presenting lectures and courses (8+). I am a creative, investigative, and inventive person, attuned to new technologies and techniques, and open to learning and improving new skills.

I have been working with international teams since 2017. I collaborated closely with the University of Minnesota (professors, students, and researchers) during my doctorate and postdoctoral programs, and with software development teams from Spyder IDE\Quansight (Anaconda) in the open-source community.

I am active in the open-source community as the author, maintainer, and contributor of many tools (HelpDev, InspectExtensions, QDarkStyle, Spyder, QtPy, Sphinx, and others) and always looking for new projects!

I'm also immersed in educational and social causes with volunteer work (Projetando o Futuro - ONG, AFEALC, Empresa Júnior do IFSC/USP).

I have idealized and organized many events during my undergraduate and graduate program, which includes the establishment of the current annual workshop and recruiting fair ‘SIFSC - Semana Integrada do Instituto de Física de São Carlos’ (CPWG/SEMAFIS/SIFSC 1/SIFSC 2) and short courses in Linux/Shell.

In 2022 I was honored be the academic holder of ‘Academia Ferreirense de Artes, Letras e Ciências’, occupant of Chair nº 22 of the perpetual patroness Lilian Aparecida Máscia Braga Ramos, in the city of Porto Ferreira, SP, Brazil.

Maker/DIY enthusiast in my free time.

wavy's People

Contributors

dpizetta avatar wa59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wavy's Issues

No microfone mustn't be a problem to initialize the program

Problem: If you have not a microfone in your pc, it fails the initialization.

Possible solution: The program get a default input audio device at startup beacause it initializes the real time plot. The best option is to open the program, with the graph stoped and then and ask the user to select device source. The other solution is to open, check if there is a microfone and asks the user to plug and restart the program - this should be more easy and an option for while.

Disconnecting the microfone after initializes the program, freezes it also. Needs restart.

Sample rate - plot view and acquiring

There is a problem with our sample rate. When we change it, the sample rate (timer) of the plot is changed and the sample rate for acquiring data (audio sample rate) is changed too. Sample rate less then 10 Hz is not compatible with the sound board. The range, simplified, is from 1kHz to 40kHz.

My suggestion is to use unchangeable value for the plot's sample rate (slowest one) and we just change the sample rate for acquisition (that determines how big would be the file - number of points).

I don't know if any value is possible between the range I said, if not, we need to put a selection input with static values.

Show information about recording window

Data exported to CSV file from the recording window will be exported just for the exhibited data, if the user apply zoom to the window, the data that could be seen is the data that will be saved.

This must be warned for the user to avoid losing data,

Change default folder to save data

Use home folder, documents or desktop, or even create a folder for Wavy Data when first start the program and always open this folder.
Now it is saving on base path of the program.

Float variable in vector indice - Python update

Some place has a variable float to indicate indices for a vector. New versions of Python not accept this anymore. This problem could be seen when export an image of a graph using new versions of Python.

The acquisition time is half of the amount should be

I've calculated the periods for the curves that we acquired using your software and the Pasco software. Your software is acquiring the half of the amount. Wavy provided t = (0.58 +- 0.07)s and Pasco t = (1.18 +- 0.08)s.

Index out of bounds

Here is the message:

Traceback (most recent call last):
File "/home/pizetta/workspace/wavy/wavy/gui_wavy.py", line 119, in updateplot
self.data[self.ptr] = self.getdata()
File "/home/pizetta/workspace/wavy/wavy/gui_wavy.py", line 116, in getdata
return global_buffer.data[global_buffer.counter - 1]
IndexError: index 381 is out of bounds for axis 0 with size 50

Save data

We need to implement a save function that save the data recorded in the RecordingPlotter (the sub set of real time plotter). May we can use the numpy function savetxt and loadtxt (like .dat format, in columns). I think this is the easiest solution.

Also, we need to check the recorded file before begins a new one, or when the program closes, etc.

Can't save filename with non English characters

Using "ç" or some accent in the filename won't work, but it does not say anything, just don't work and you could lose your data.

Traceback (most recent call last):
File "C:\wavy\wavy\gui_wavy.py", line 533, in saveFileAs
self.filepath = os.path.splitext(str(path))[0]
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 8: ordinal not in range(128)

Create Save and Save As

Just to allow the user to save data again, create the button for save as, using the same format.

Pause action

Pause action needs to be reviewed, because the time that they put when you pause and restart the recording is not the same of the real time window.

Some options:

  • remove pause action
  • put the right time from real time (including when the you start acquiring first time)
  • do nothing - because the time (when you acquired) is not important

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.