mylaboratory
Title image
 
Home
 
Software
 
Raytracer
 
Recipes
 
Photos
 
Mashup
 

Random photo

More photos More photos

Contact

  • General GreyLab:
    greylab@
  • Bug reports:
    greylab.bugs@
  • Feature requests:
    greylab.features@
  • GreyLab support:
    greylab.support@

Related links

  • Semiconductor Physics Group
    Semiconductor Physics Group, University of Cambridge
  • C++ @ Wikipedia
    A general-purpose programming language with high-level and low-level capabilities
  • FOX-Toolkit
    A C++ based class library for building Graphical User Interfaces
  • Cairo
    A 2D vector graphics library with support for multiple output devices
  • DevIL
    A full featured cross-platform image library

GreyLab

About

GreyLab is designed to produce colourscale 2D images from sweeps of measured data. Data is input in the form of columns of data (using a defined separator), Acorn CryoMeas binary files or a Matlab-like matrix. Each sweep can be an arbitrary length and has an independant column and any number of dependent columns. The programme will inteligently load data into sweeps from looking at the column names.

A separate status data file produced by the LabVIEW CryoMeas measurement system (or combined file in the case of the Acorn input) (developed by C. J. B. Ford for use in the Semiconductor Physics Group of the University of Cambridge) can be used to automatically set the y-axis values which allows non-uniformly spaced data sweeps. Numbers can also be entered manually for data without a status file.

When the data is processed ready for display the x-axis is histogramed into user-defined bins to give the same number of points in each sweep. The binned data and axis values can be transformed with mathematical functions written by the user and then integrated or differentiated along x or y. Functions can be written in normal infix mathematics and include various functions and data from the other columns. For example, to calculate the Hall resistance from current in nanoamps in column one and voltage in microvolts in column two the function would be “(col(2)*1e-6)/(col(1)*1e-9)”. The x-axis could then also be transformed to 1/B to look at the regular nature of the oscillations.

Now the data has been processed it can be plotted. The main output is a colourscale image. The axes can be set independently of the data and grid lines, axis labels (with greek letter and super- and sub-script support) and the colour ramp all changed. An image of the plot can be exported as a JPG, TIF, PNG or one of many other formats. There is also experimental support for PDF, PS and SVG. If the graph is clicked on with the mouse a linescan at that position is created on a separate figure. A right click produces a verical linescan and a left click a horizontal one. Multiple linescans can be plotted in different colours, an average of the dataset calculated or every sweep plotted. Again the axes can be set as required.

On the colourscale and linescan images, holding down 'shift' and dragging a box with the mouse zooms in to that region of the graph, while holding 'control' and dragging zooms out. Also on these graphs, simple drawings can be made to aid analysis. Lines, boxes, images, text, ellipses and user defined functions can be plotted on top using the drawing palette.

3D heightmaps can also be produced to visualise the data and the camera and light moved in real time (graphics card drivers dependent). The linescan data, 2D data or histogrammed data can also be exported to a text file for use in other programmes.

The current stable version is 2.19.3 - 19th March 2008.

The manual, binaries and source for Windows, Debian Linux 3.1 and Ubuntu 7.10 AMD64 are below. If you have any questions or comments please contact me.


Screenshots

Main tab
Main tab
Hdr tab
Hdr tab
SD tab
SD tab
Data tab
Data tab
2D tab
2D tab
Colourscale window
Colourscale window
1D tab
1D tab
Linescan window
Linescan window
3D tab
3D tab
Heightmap window
Heightmap window
Settings tab
Settings tab
Bottom image