|
Digital Instrument's Nanoscope 4.3x and later file format description
Information about version 2 headers can be found here.
Information on V3.x and V4.2 and earlier headers can be found here.
The V4.3x and later header
This new version made a lot of changes to the header. It is confusing at first,
but here is a description. Much of this info was derived from an email (and in
some cases copied) from DI tech support guru Sean Clayton.
The first thing you will notice is the scaling sections
start with '\*Ciao'. This stands for 'Control Input and
Output'. Some of the parameters in a \*Ciao list start with
'\@' instead of simply '\'. After the @ there may be a
number followed by a colon. The number is called the 'group
number'. Right after the label and colon, there will be one of the
characters 'V', 'C' or 'S'.
V means Value - a parameter that contains a double and a unit of
measure, and some scaling definitions.
C means Scale - a parameter that is simply
a scaled version of another.
S means Select - a parameter that describes some
selection that has been made.
The value parameters have the following format. [soft-scale] (hard-scale)
hard-value
For example \@1:Z limit: V [Sens. Zscan] (0.006713867 V/LSB) 55.00000 V
Since the Nanoscope is a digital device, all data is inherently a number.
We call this number in its rawest form an LSB (a bit of a misnomer - it comes
seeing scaling values on ADCs and DACs as Volts per Least-Significant-Bit).
Anyhow, our LSB is the digital representation of volts or frequency.
The hard-value is the analog representation of a measurement. This sounds
complicated, but it is simply the value you read on the parameter panel when you
set the Units: to Volts. The hard-value is the value you would read with a
voltmeter inside the guts of the Nanoscope electronics or inside the head. This
value is always in volts with the exception of the Drive Frequency which is in
Hertz and some STM parameters that are in Amps.
The hard-scale is the conversion factor we use to convert LSBs into
hard-values. We use the prefix "hard-" in hard-scale and hard-value
because these numbers are typically defined by the hardware itself and are not
changeable by the user.
We also have a terms prefixed by "soft-". These are soft-scale
and soft-value. A soft-value is what the user sees on the screen when the Units:
are set to Metric. The soft-scale is what we use to convert a hard-value into a
soft-value. Soft-scales are user defined, or are calibration numbers that the
user divines. Soft-scales in the parameters are typically not written out -
rather, another tag appears between the brackets, like [Sens. Zscan]. In that
case, you look elsewhere in the list for tag and use that parameter's
hard-value for the soft-scale.
A value (V) parameter might be missing a soft-scale or a hard-scale, but must
*always* have a hard-value.
The scale (C) parameters have the following format.
[soft-scale] hard-value
The hard-value is almost always a scalar value.
The soft-scale always points to another parameter - this parameter is the
target of the scaling action.
This is
most
often used for the Z magnify parameter to allow the
user to change the scaling of Z scale offline without actually affecting the real
data in the file.
The select (S) parameters have the following format.
[internal-designation for selection] "external-designation for
selection"
An internal-designation does not have to be provided.
Lets take a closer look with an example. The
following is part of a V4 header, with only the relevent stuff shown for
clarity.
\*File list
\Version: 0x04310006
\Date: 06:42:39 PM Thu Jul 02 1998
\Data length: 20480
\*Equipment list
\Description: Extended D3100
\Controller: IIIA
\Scanner file: xxxg.scn
\*Scanner list
\Scanner type: Dimension
\Serial number: xxxG
\Piezo size: G
\@Sens. Zscan: V 11.86629 nm/V
\*Ciao scan list
\Scan size: 500 nm
\Samps/line: 512
\Lines: 512
\Scan rate: 5.08626
\@InterleaveList: S [InterleaveOffMode] "Disabled"
\@MicroscopeList: S [TMMode] "Tapping"
\@2:SPMFeedbackList: S [SPMFb] "Amplitude"
\@3:SPMFeedbackList: S [SPMFb] "Amplitude" linked
\@Sens. Deflection: V 63.11920 nm/V
\@1:Z limit: V [Sens. Zscan] (0.006713867 V/LSB) 55.00000 V
\*Ciao image list
\Data offset: 544768
\Data length: 524288
\Samps/line: 512
\Number of lines: 512
\@2:Image Data: S [Height] "Height"
\@Z magnify: C [2:Z scale] 0.1448305
\@2:Z scale: V [Sens. Zscan] (0.0008392334 V/LSB) 0.4364014 V
\*File list end
First, notice that \*Microscope list and \*Controller
list from V3 has been replaced with \*Equipment list and \*Scanner list.
All the parameters from the V3 controller list are now in (hard-scale) values in
the parameter of interest.
Let's find the Z scale conversion factors. From
the line:
\@2:Z scale: V [Sens. Zscan] (0.0008392334 V/LSB) 0.4364014 V
we can get the (hard-scale) of (0.0008392334
V/LSB). The [soft-scale] value is found by looking
the tag in brackets. Remember, the soft-scale always points to another
parameter [Sens. Zscan] is located in the \*Scanner list, where you find
\@Sens. Zscan: V 11.86629 nm/V. The [soft-scale value is then
11.86629 nm/V.
There are two formulas that explain everything you need to know about
the data:
LSBs * hard-scale = hard-value
hard-value * soft-scale = soft-value
For example, to convert a raw data
value to height, multiply the data value (LSB) * hard-scale *
soft-scale. Say the raw data value was 2463. The
height is 2463 LSB * 0.0008392334 V/LSB * 11.86629 nm/V =
24.53
nm
The range of the data is simply the
hard-value * soft-scale, or 0.4364014 V * 11.86629 nm/V =
5.178 nm
For questions, comments, corrections, etc, about any of the technical documents here, please mail them to:
rworkman@u.arizona.edu
Contact info:
Srin Manne
Physics Dept
PAS 575
520-626-5305
smanne@physics.arizona.edu
|