GithubHelp home page GithubHelp logo

vdbhatt / scicharpy Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 72 KB

Scientific instrument control for measurement and analysis using python and PyQt, primarily developed for transistor and biosensor characterization

License: GNU Affero General Public License v3.0

Python 100.00%

scicharpy's Introduction

Should i make a demo video on how to setup help?

Hi, I was recently explaining one friend on how to setup and realized maybe a video might help to get started. If atleast 5 people vote for a video i'll happily make a demo on how to add new instrument and modify the GUI to accomodate new features and how we can take control of our tests :) Just raise issue on Issues tab.

scicharpy

Scientific instrument control for measurement and analysis using python and PyQt, primarily developed for transistor and biosensor characterization Documentation will be added soon.

Installation:

Note: Using virtual environment is highly recommended. Conda and such scientific environments with popular packages such as numpy, matplotlib etc are required. For GUI pyqt is used. For live data plotting pyqtgraph is used. Easy way to install all that is required is by running following inside a virtualenv.

pip insatall -r req.txt

Please note that some unnecessary packages might be installed. You may manually tweek the req.txt file to suit the package requirements.

Customizing the GUI.

We have used non commercial version of qtDesigner please open the single .ui file located at ./UI/main.ui. This will give a general idea of the UI organisation. There are two main parts to the GUI. The left section is for documentation puropose and the right side is for running the experiments with the given parameters. You may add/delete the tabs as per your desire. The main purpose of GUI is to simply pass the parameters from user to underlying scripts.

General flow of the measurement process.

Once the user inputs the parameters, appropriate charactrizationType class is constructed using Characterization object called from main.py. This class passes the parameters from GUI to the next step.

TransistorCharacterizationTasks constructs the appropriate characterizationtask and passes it the required instrument. This is the place where you may try to use fake instrument to test the system.

After this two threads are construced one for data collection and other for plotting purpose. Depending upon the user interaction the measurement can be terminated at any point. As soon as the measurement process is terminated, dataprocessing kicks in and prepares the image from the data collected. Different datalogging strategies can be adopted, we have used some time batch data saving and on other ocassions to save data only when measurement is completed successfully. You may choose whatever suits your needs.

Issues/ pull requests.

Though this measurement system is used extensively by our group, issues might still exist and we fix them as they are found. Since our main focus is to perform measurements without putting excessive time to make the software perfect. However in case you encounter any issue or would like our help to setup the python based measurement system please raise issue in the github issue section. Also any pull requests making the system more robust and extensible are more than welcome.

finally .. keep measuring !!

scicharpy's People

Contributors

vdbhatt avatar saumyajoshi-projects avatar

Stargazers

 avatar Oliver Schneider avatar  avatar  avatar

Watchers

 avatar

Forkers

ines21

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.