Skip to content

A Python package designed for interfacing with the CreaTec scanning probe microscope.

License

Notifications You must be signed in to change notification settings

chenxu2394/py_createc

Repository files navigation

Py-Createc

Documentation Status

This is a Python interface package for the CreaTec scanning probe microscope (STM). This package serves two main purposes:

1. Python Interface for Createc STM:

This component includes a wrapper class (createc.CreatecWin32) that interfaces with the Createc STM software. This component offers enhanced access to all standard remote operations, with additional custom methods such as ramp_bias_mV and ramp_current_pA, which expand the capabilities beyond the default functions.

2. File Management and Analysis Tools:

In addition to interfacing with the STM, Py-Createc offers a suite of classes that handle and analyze the data files (.dat, .vert, etc.) generated by the STM. These tools ensures efficient and effective management of STM data, including functionalities like image instance creation and more.

The online documentation can be found here.

Installation

In the root directory, run pip install -e .

Quickstart

Interfacing with Createc STM

import createc
stm = createc.CreatecWin32()
stm.stmbeep()                 # Playing the testing beep sound on the STM constroller
stm.ramp_bias_mV(1000)        # Ramping bias to 1V

Handling STM Data Files

Furthermore, several classes are available to to read .dat, .vert files etc. For example, an image instance can be created by:

import createc
image_file = createc.DAT_IMG('path/to/filename.dat')

File Structure

   .
   +-- createc  # The main modules
   |   +-- Createc_pyCOM
   |   |  +-- CreatecWin32               # The wrapper class that expands the scope of default Createc functions. The .ramp_bias_mV and .ramp_current_pA methods are in here
   |   |
   |   +-- Createc_pyFile                # The unified Createc file classes
   |      +-- GENERIC_FILE               # The parent file class
   |      |  +-- DAT_IMG(GENERIC_FILE)   # The child class for reading .dat files
   |      |  +-- VERT_SPEC(GENERIC_FILE) # The child class for reading .vert files
   |      +-- GRID_SPEC                  # A standalone class for .gridspec files
   |
   +-- examples
   |   +-- map                           # An applet to map out a bunch of images according to their locations/angles, useful for offline images-viewing
   |   +-- osc                           # An applet to show real-time STM signals, the channels can be easily configured inside the script
   |   +-- utility                       # A helper applet for the STM operation, The .ramp_bias_mV and .ramp_current_pA methods are in here. (see screenshots below)
   |
   +-- tests
   +-- doc
   +-- LICENSE
   +-- README

More Elaborate Examples

The examples folder contains useful scripts to communicate with the STM. These scripts demonstrate the advanced applications of the Py-Createc package.

1. Oscilloscope Example (./examples/osc/oscilloscope.py)

This script displays the temperatures of the STM in an oscilloscope format. Users can view the value and its timestamp by hovering the cursor over the curves. It's also configurable to display other signals.

oscilloscope

2. Image Mapping Applet (./examples/map/map.py)

This helper applet facilitates piecing together images scanned at different locations. Additionally, it enables communication with the STM through a 'Connect to STM' feature, which synchronizes the applet's tip position with that of the STM.

map

3. STM Utility Tool (./examples/utility/stm_tool.py)

With this utility, changing STM parameters is simplified to a single click, thus enhancing user convenience and efficiency.

About

A Python package designed for interfacing with the CreaTec scanning probe microscope.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages