Coder Social home page Coder Social logo

cyip92 / sat-abs-holmium Goto Github PK

View Code? Open in Web Editor NEW

This project forked from quantumquadrate/fastpcianaloginput

0.0 0.0 0.0 161.75 MB

Python script to read in data from high-speed analog input channels on a PCI card and perform filtering to reject segments invalidated by unstable experimental periods.

Python 100.00%

sat-abs-holmium's Introduction

Fast PCI Analog Input

The purpose of this script is to quickly read data from multiple analog input channels on a PCI card and then appropriately filter the raw data in order to reject segments of data which were invalidated by certain experimental instabilities (eg. lasers unlocking). The code that reads in the data should be adaptable to any experiment in a relatively straightforward way, while the data filtering is more specialized to the holmium experiment and not necessarily suited for general-purpose usage on other experiments.

Some installation notes

Some IDEs may state that the pydaqmx functions are not callable, but the script should run regardless as those functions are dynamically generated at runtime by the pydaqmx package.

The pydaqmx package by default seems to install incorrectly; the fix is to navigate to the folder with all the pydaqmx files, delete task.pyc, and rename task.py to Task.py as all the internal references seem to be to Task and not task.

Data reading process

Currently the software actually reads from both the PCI card and the RS232 connection of a HP53131A frequency counter. Due to needing to avoid issues with the frequency counter communication timing out between reads, the data-taking process alternates reading from the PCI card and from the frequency counter in an interleaved way. The process of reading data appears to be fast enough to not noticeably delay or pause data acquisition from the PCI card (which is significantly faster than the frequency counter). For more general-purpose usage, the code for reading from either device can be commented out as needed since they can operate independently of each other. The frequency counter readings come in as strings formatted like "56.231 MHz" which requires a very minor amount of parsing before being saved to the data file as well.

sat-abs-holmium's People

Contributors

cyip92 avatar

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.