Giter VIP home page Giter VIP logo

bkuschak / pycrafter6500 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from csi-dcsc/pycrafter6500

0.0 2.0 0.0 54 KB

A python controller for Texas Instruments DLPLCR6500EVM evaluation module for DLP technology. The controller can fully control the "pattern on the fly" mode with a user defined sequence of binary images. Requires pyusb and numpy. PIL or pillow is recommended for testing.

License: GNU General Public License v3.0

Python 100.00%

pycrafter6500's Introduction

Pycrafter 6500 is a native Python controller for Texas Instruments' dlplcr6500evm evaluation module for DLP displays.
The script requires Pyusb and Numpy to be present in your Python environment. The test script included requires the Python Image Library (PIL or pillow) for opening a test image. The device must have libusb drivers installed, for Windows users we suggest to install them= through Zadig (http://zadig.akeo.ie/), and selecting the libusb_win32 driver.

If you use this library for scientific publications, please consider mentioning the library and citing our work (https://doi.org/10.1364/OE.25.000949).

Features list:

- basic control of the evaluation module (modes selection, idle toggle, start/pause/stop sequences)
- upload of a sequence of EXCLUSIVELY BINARY images for "patterns on the fly" mode, with independent control of exposure times, dark times, triggers and repetitions number.

Quick commands list:

to open a connection with the DMD:

import pycrafter6500
controller=pycrafter6500.dmd()

available functions:

controller.idle_on()
#sets the DMD to idle mode


controller.idle_off()
#wakes the DMD from idle mode


controller.standby()
#sets the DMD to standby


controller.wakeup()
#wakes the DMD from standby


controller.reset()
#resets the DMD


controller.changemode(mode)
#changes the dmd operating mode:
#mode=0 for normal video mode
#mode=1 for pre stored pattern mode
#mode=2 for video pattern mode
#mode=3 for pattern on the fly mode


controller.startsequence()
controller.pausesequence()
controller.stopsequence()


controller.defsequence(images,exposures,trigger in,dark time,trigger out, repetitions)

defines a sequence for pattern on the fly mode. Inputs are:

images: python list of numpy arrays, with size (1080,1920), dtype uint8, and filled with binary values (1 and 0 only)
exposures: python list or numpy array with the exposure times in microseconds of each image. Length must be equal to the images list.
trigger in: python list or numpy array of boolean values determing wheter to wait for an external trigger before exposure. Length must be equal to the images list.
dark time: python list or numpy array with the dark times in microseconds after each image. Length must be equal to the images list.
trigger out: python list or numpy array of boolean values determing wheter to emit an external trigger after exposure. Length must be equal to the images list.
repetitions: number of repetitions of the sequence. set to 0 for infinite loop.

pycrafter6500's People

Watchers

 avatar  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.