GreyLab Documentation

2.19.0

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.

Versions

2.19.0 - Stable - 10/03/2008
============================
Export of data to matlab matrices
Removed font antialiasing option from user interface

    2.18.7 - Stable - 14/12/2007
    ----------------------------
    Fixed rounding of z-axis values

    2.18.6 - Stable - 13/12/2007
    ----------------------------
    Fixed rounding of z-axis values

    2.18.5 - Stable - 13/12/2007
    ----------------------------
    Fixed various autoranging bits, especially on scatter graphs
    Added interpolation of scatter graphs in y
    Fixed loading of Acorn data on 64bit
    Added rounding of z-axis values
    Added tick labelling on z
    Added contour/contour-background colours

    2.18.4 - Stable - 30/11/2007
    ----------------------------
    Changed linscan legend dashed to slashes
    Added filename storing to the graph label recall.
    Fixed switching from camera to light motion

    2.18.3 - Stable - 26/11/2007
    ----------------------------
    Added gamma correction calculation to gradient bar position indicators
    Added graph label store and retrieve function
    Fixed autobinning when using functions
    Fixed y autoranging when using functions

    2.18.2 - Stable - 29/10/2007
    ----------------------------
    Fixed window drift
    Fixed minimising bug

    2.18.1 - Stable - 23/09/2007
    ----------------------------
    Loads 2.x SD file versions
    Lists channel numbers in SD columns when available
    New auto-field for Y SD channel number
    Translates <ChA> and <ChB> to either channel number or name


2.18.0 - Stable - 26/08/2007
============================
Loads matrix-like data file
Changeable data separator character

    2.17.4 - Stable - 16/08/2007
    ----------------------------
    Plot linescans using gradient ramp colours

    2.17.3 - Stable - 15/06/2007
    ----------------------------
    Sweep number shown in cursor label
    Added cursor label to linescan

    2.17.2 - Stable - 12/06/2007
    ----------------------------
    Asks to save after browsing
    Can use sweep number to set linescan trace selection

    2.17.1 - Stable - 09/06/2007
    ----------------------------
    Improvements to axis flipping
    Fixed `Auto target range'
    Improved vector output
    Fixed bug in image overlaying


2.17.0 - Stable - 31/05/2007
============================
Loads and displays header file
Option to ignore graph settings when loading
Zoom back on graphs
Fixes to linescans
GUI tidying

    2.17-pre4 - Stable - 29/05/2007
    -------------------------------
    Fixes for Xorg/Linux64 rendering
    
    2.17-pre3 - Stable - 04/04/2007
    -------------------------------
    Different size number font to text font
    Hiding of z-axis gradient bar, scale and label
    One step replotting from saved project
    Contour spacing field variable
    Partial/full axis box option on heightmap
    Text on or off in heightmap
    Partial redrawing for speed when doing dynamic updates
    Fixed a grid scaling issue on linescans with offsets
    Fixed overrunning data on linescans with offset
    User controlled spacings between graph elements

    2.16.1 - Stable - 27/03/2007
    ----------------------------
    Fixed font rendering
    Top hat function


2.16.0 - Stable - 23/03/2007
============================
Fixed data exporting
Loading project auto loads data
A few extra settings stored in projects
X offset on linescans
Transparent background text to fix overlapping bits at corners


2.15.0 - Stable - 14/03/2007
============================
Improved vector output of colourscales
Z-axis space positioning of gradient segments


2.14.0 - Testing - 17/02/2007
=============================
Linescan legend option
Colourscale vector graphics output (PS/PDF/SVG)
Store image file patterns in save boxes
Made plane calculation clicks insensitve to mouse motion
Drawing on linescans
Vector output of linescans
Added distance as an additional display when drawing
Heightmap axis range flip buttons
Linescan plot stride
Linescan range plot
Fixed editing of stored linescans
Fixed some memory leaks
Fixed dodgy drawing on some heightmaps
Fixed string translation of linescan legend
Fixed manual editing of target X range
Other minor cosmetic changes


2.13.0 - Testing - 09/02/2007
=============================
Target X range
Autoranging of X and Y

    2.12.4 - Testing - 07/02/2007
    ----------------------------
    Added logarithms and more trig functions
    Fixed thing I broke in 2.13.2 when saving projects
    Update images when a limit colour is changed
    Stop crash when selecting font if there is no data loaded

    2.12.3 - Testing - 07/02/2007
    ----------------------------
    Fixed positioning of drawing elements

    2.12.2 - Testing - 06/02/2007
    ----------------------------
    Improved AA stroked lines
        Added project and data file names to the GreyLab window title

    2.12.1 - Testing - 05/02/2007
    ----------------------------
    Improved quality of linescan lines
    Improved hi-res output on linescan
        Added line stroke thickness on linescan (0 = non-antialiased, 1+ = thick antialiased lines)


2.12.0 - Testing - 01/02/2007
=============================
Scaling of ticks and legend in hi-res output
ysd conversion to scatter graph and improved x and y functions
Heavyside functions (hsl(), hsr())

    2.11.2 - Stable - 15/01/2007
    ----------------------------
    Added alternate coutour style
    Fixed Z-axis sliders (I hope)
        Fixed object drawing so they turn up in the output file

    2.11.1 - Stable - 13/01/2007
    ----------------------------
    Fixed a little problem with the maths function parser


2.11.0 - Testing - 06/01/2007
=============================
So many changes!
User can draw objects on the greyscale image
-Lines with arrows
-Rectangles
-Text
-Ellipses
-Images
-Functions
-Start and end coords and gradient labelling for all
-Coloured objects
-Save and load these drawings
Stop focus stealing option
Padding tick labels to give constant decimal places
Z axis ticks
Contour plotting
Improved and fixed auto ranging
Improved Z axis jog dials
XY differentiation
Swap diff int order

    2.10.5 - Testing - 15/12/2006
    -----------------------------
    Fixed a bug that was crashing when a non-stride number of sweeps in block selection mode

    2.10.4 - Testing - 05/12/2006
    -----------------------------
    Changed GUI updating during load etc

    2.10.3 - Testing - 02/12/2006
    -----------------------------
    Month and day padded to 2 characters
    GUI updating on load

    2.10.2 - Testing - 23/11/2006
    -----------------------------
    Export high resolution image button
    Focus on window when image created
    Remove plane button
    Fix bugs in drawn zoom box on Linux

    2.10.1 - Testing - 22/11/2006
    -----------------------------
    Flip x axis range and y axis range permanently option
    Replaced Z axis dials with sliders
    File size and date variables
    Colour map variable
    Cancel zoom by releasing shift or control
    Other improvements


2.10.0 - Testing - 19/11/2006
=============================
Auto extension of project files
Mouse zooming (shift goes in, control comes out)
Scroll wheel for changing z axis (up to 20% in each direction)
Auto generated text fields in all axis titles and labels and in image file names
Gives a warning when overwriting images
Will saving images as .png if a valid extension isn't given
Fixed function parser
Axis flip by button
Linescan edit boxes
General impovements
Autoranging of Z when other axes changed
Equal +ve and -ve range on Z by button

    2.9.1 - Testing - 14/11/2006
    ---------------------------
    Fixed a few bugs I introduced in 2.9.0


2.9.0 - Testing - 16/08/2006
============================
Can export binned versions of the other columns
    
    2.8.5 - Stable - 10/11/2006
    ---------------------------
    Fixed mouse events
    Auto rescale x on sweep selection change

    2.8.4 - Testing - 09/09/2006
    ----------------------------
    Draw linescans in reverse order opition
    Make sure windows never go below (0, 0)

    2.8.3 - Testing - 07/09/2006
    ----------------------------
    Added ability to export raw data into Acorn LabAssist text format
    Fixed the crash that resulted from a long title overwriting the end of the image array
    
    2.8.2 - Testing - 06/09/2006
    ----------------------------
    Fixed bug in data exporting (tabs were after data, rather than before)
    
    2.8.1 - Testing - 29/08/2006
    ----------------------------
    Fixed a bug I'd introduced to the old sweep selection operation

    2.8.0 - Testing - 28/08/2006
    ----------------------------
    Interpolation in the colourscale image

    2.7.0 - Testing - 27/08/2006
    ----------------------------
    Linescan legend
    Scatter graph y-axis auto scaling
    Plot all sweeps on linescan
    Cascade traces on linescan
    Grid recalculation on cascade
    Reodering of linescans
    Bugs fixed:
    -Negative exponentials
    -Clearing data after a failed load
    -Axis tick number when close to zero (show 0 instead of 3e-18)
    -Using functions on scatter data

    2.6.0 - Testing - 23/08/2006
    ----------------------------
    Added ability to plot multiple traces in arbitrary colours on the linescan graph
    
    2.5.1 - Testing - 22/08/2006
    ----------------------------
    Improved maths parser to take natural expressions (no spaces required!)

    2.5.0 - Testing - 20/08/2006
    ----------------------------
    Added a method to subtract a background plane from the data


2.4.0 - Stable - 16/08/2006
===========================
Opens Acorn CryoMeas binary files (Thanks to Jon Prance)
    
    2.3.2 - Testing - 11/08/2006
    ----------------------------
    Added auto labelling of axes

    2.3.1 - Testing - 09/08/2006
    ----------------------------
    Added About box
    
    2.3.0 - Testing - 08/08/2006
    ----------------------------
    Interpolation of an arbitrary number of missing data points in either direction
    
    2.2.4 - Testing - 07/08/2006
    ----------------------------
    Improved reading of odd SD files
    Fixed a couple of other bugs
    
    2.2.3 - Testing - 31/07/2006
    ----------------------------
    Tried to add auto detection of SD file type
    
    2.2.2 - Testing - 14/07/2006
    ----------------------------
    Improved auto ranging between load and process so it should select all the data by default now (even if it is not 'square')

    
2.2.1 - Stable - 10/07/2006
===========================
Fixed bug in TSV loading
Adjusting loading to work properly with 'midpoint' sweeps


2.2.0 - Stable - 09/07/2006
===========================
Scatter colourscale plotting
Linescan data exporting
Colourscale data exporting
Histogrammed data exporting
Full tick labels on linescan
Auto variable grid spacing when axis range changes


2.1.0 - Stable - 07/07/2006
===========================
Options for:
 - Auto bin size
 - Auto rescale
 - Auto grid size
 - 2 point differential
 - Auto rescale linescan
Fill in missing data
Auto negative of grid spacing when required
Disable initial heightmap
Auto linescan rescale
Fixes to heightmap scales
Fixed bug causing incorrect greyscale when plotting by sweep number from non-zero start
Sub and superscript fonts
Tick labels at all major divisions
Improvements to graph axis ticks
Sweep averager


2.0.1 - Stable - 25/04/2006
===========================
Changed old deprecated headers for new ones
Fixed a couple of bugs


2.0.0 - Stable - 20/04/2006
===========================
Bug fixes

    2.0-pre6 - Development - 19/04/2006
    -----------------------------------
    Bug fixes
    Valgrind'd
    Code tided up

    2.0-pre5 - Development - 18/04/2006
    -----------------------------------
    Re-enabled 3D heightmap and separated from data
    Other improvements
    Bug fixes

    2.0-pre4 - Development - 11/04/2006
    -----------------------------------
    Vertical and horizontal linescans
    Other improvements

    2.0-pre3 - Development - 10/04/2006
    -----------------------------------
    Loads CryoMeasLV, Origin exported CryoMeas, headed TSV and TSV files
    Status progress bar to show percentage processed
    Improments to y-axis properties

    2.0-pre2 - Development - 09/04/2006
    -----------------------------------
    Settings saved to ini file rather than registry
    Project settings loading and saving
    Window icons
    Loading of non-CryoMeas TSV files started
    Various other improvements

    2.0-pre1 - Development - 06/04/2006
    -----------------------------------
    SD loading
    Re-wrote data handling
    Added differentiation & integration
    Added data processing functions
    Y axis now uses a SD column
    Image axes are now independent of loaded and processed data
    All data is loaded for quick re-processing


1.2.0 - Stable - 03/04/2006
===========================
Heightmap axis labelling
Heightmap grid lines
Heightmap triangle/line/point rendering
Heightmap light movement modified to camera aligned
Changes to heightmap UI
Registry saving of heightmap options
Other additions and tweaks

    1.2-pre3 - Development - 03/04/2006
    -----------------------------------
    Testing text labels on the heightmap
    Heightmap light movement
    Other heightmap options added
    UI modifications
    Font engine modifications

    1.2-pre2 - Development - 01/04/2006
    -----------------------------------
    Proper camera movement in heightmap
    Additions to the UI

    1.2-pre1 - Development - 01/04/2006
    -----------------------------------
    Basic 3D data heightmap added


1.1.1 - Stable - 30/03/2006
===========================
User selectable font in all output windows
Test of OpenGL rendering to a window
Rotation of y and z axis labels in colourscale


1.1.0 - Stable - 29/03/2006
===========================
User selectable font for colourscale image


1.0.1 - Stable - 28/03/2006
===========================
Basic colourscale and linescan output

Readme

Release Notes:
==============

1) The latest version can be found at: http://www.mylaboratory.co.uk/Software/greylab.php

2) Instructions can be downloaded from: http://www.mylaboratory.co.uk/Software/greylab.php

2) Any comments, requests and bug-reports to me: greylab@mylaboratory.co.uk

3) For usage restrictions see LICENSE.txt


Contact: Simon Chorley, greylab@mylaboratory.co.uk

License

+-------------------------------------------------------+
|                                                       |
|         mylaboratory General Software License         |
|                                                       |
|            http://www.mylaboratory.co.uk/             |
|                                                       |
|         Copyright (C) 2005-2007 Simon Chorley         |
|                                                       |
+-------------------------------------------------------+


This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.

Permission is granted to everyone to use this software and all output may be used for free in commercial or non-commercial applications.

This software may be altered and redistributed non-commercially subject to the following restrictions:
  1) The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2) Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3) This notice may not be removed or altered from any source distribution.

For information about commercial licenses please contact me.


If you try it and find it useful then please let me know as I'd be interested to hear where it ends up.

<software@mylaboratory.co.uk>

Generated on Mon Mar 10 13:55:43 2008 for GreyLab by  doxygen 1.5.3