Stradwin files

Stradwin saves information in three distinct places: data files, template files and a configuration file.

Data files are used to store image, position and analysis data from a single recording. They consist of pairs of files with the same name, but different extensions, ".sw" containing textual information and ".sxi" containing binary image data only (except for DICOM data and image sequences, where the original files are used in place of the ".sxi" file). When you load up a data set in Stradwin, the ".sw" file is loaded first to establish the details of the data set, and the ".sxi" file is then loaded automatically. Since the ".sw" file contains unformatted text, it can be viewed and/or edited in any text editor. Equally, since the ".sxi" file is a simple binary file containing only the image data, it is generally straightforward to convert this to alternative formats, using the information in the ".sw" file.

Template ".swt" files are used to store configuration information for Stradwin which is expected to be different for different ultrasound probes, ultrasound machines, or recording sessions. Generally, once you have Stradwin set up for a particular recording, saving a template file will preserve all the relevant settings, and can then be re-loaded at a later time to exactly reproduce the same recording configuration. ".swt" files also contain simple unformatted text, in the same format as the ".sw" file, so they also can be viewed and/or edited in any text editor.

The configuration file, "stradwin.ini" (or ".stradwin.ini" if you are using Linux) is used to store configuration information which is expected to be relatively stable for a given Stradwin installation. This file is automatically updated whenever you change a control which is stored in this file, so that each time you start Stradwin, such controls will be set to the values from the previous session. The configuration file also contains simple unformatted text, in the same format as the other text files.

Much of the information in template and configuration files is also stored in each textual ".sw" data file, so that the data contains a historical record of all the Stradwin parameters at the time the data was recorded. When you load a data file, Stradwin temporarily sets all the controls to whatever they were when you saved the data. These controls return to the previous settings as soon as the data file is closed unless you specifically change a control while the data is loaded, in which case it will then stay at the value you changed it to after closing the data file. Hence, if you have a template file loaded for a current recording session, loading and closing previous data will not affect the current recording parameters.

File formats

Most information in Stradwin text files is stored in single line parameter-value pairs, so for instance the line:

RES_BUF_FRAMES 100
indicates that the RES_BUF_FRAME parameter has the value "100". A few parameters can occur multiple times, for instance once per frame of data, or once per drawn contour.

The exception is the ".sxi" data file, which is a binary file containing image data only. For scan-converted data, this contains a single 8-bit (unsigned char) value per display pixel, and is ordered such that the pixel at row r, column c and frame f is at location:

f*RES_BUF_WIDTH*RES_BUF_HEIGHT + r*RES_BUF_WIDTH + c
RF data is stored as a single 16-bit (unsigned short) value per sample, and is ordered such that the sample at time point s, in RF vector v and frame f is at location:
f*RES_RF_SAMPLES*RES_RF_VECTORS + v*RES_RF_SAMPLES + s
Hence the total size of a scan-converted ".sxi" data file (RES_BUF_RF = false) is given by RES_BUF_FRAMES*RES_BUF_WIDTH*RES_BUF_HEIGHT bytes, whereas an RF file (RES_BUF_RF = true) is given by RES_BUF_FRAMES*RES_RF_SAMPLES*RES_RF_VECTORS*2 bytes.

Stradwin coordinate systems

All rotations in Stradwin ".sw" data files are expressed in Euler angles. The particular convention used in Stradwin is Tait-Bryan angles, ZYX ordering, with azimuth = yaw = alpha, elevation = pitch = beta and roll = gamma. Internally, Stradwin converts Euler angles to homogeneous transformation matrices before manipulation. The classes matrix16d and vertex3d for dealing with such matrices are contained in 'translate.h' and 'translate.cpp'. Using these classes, the following code snippet uses Stradwin parameters (as described below) to convert a pixel location in a single frame to the room coordinate system:

  // Create matrices for
  //  - position sensor calibration (cal)
  //  - frame location in position sensor coordinates (frame)
  //  - isocentre (room) calibration (iso)
  matrix16d cal(res_xtrans, res_ytrans, res_ztrans, res_azimuth, res_elevation, res_roll);
  matrix16d frame(im_x, im_y, im_z, im_azimuth, im_elevation, im_roll);
  matrix16d iso(res_isocentre_xtrans, res_isocentre_ytrans, res_isocentre_ztrans, res_isocentre_azimuth, res_isocentre_elevation, res_isocentre_roll);

  // Calculate vertices for
  //  - point location relative to the B-scan frame (pixels)
  //  - point location relative to the position sensing device attached to the probe (pos)
  //  - point location in position sensor base coordinates (world)
  //  - point location in room coordinates (room)
  vertex3d pixels, pos, world, room;

  pixels.x = 100;  // pixels from top left in horizontal direction
  pixels.y = 50;   // pixels from top left in vertical direction
  pos = cal * pixels.scale(res_xscale, res_yscale);
  world = frame * pos;
  room = iso * world;

Single line parameters saved in the text data ".sw" file

The following table lists all the single line parameters that are stored in the ".sw" file, and possibly also the configuration ("stradwin.ini") and template (".swt") files. The first nine parameters are always located before the RES_END_HEADER token: Stradwin needs to load these first in order to correctly interpret the remaining parameters. Apart from this restriction, the parameters can appear in any order in the file. The table also shows how some of the parameters are collected together into "groups": these are mainly used to warn the user of unsaved parameters when closing a file or quitting Stradwin.

Token Data file Template file Config file Type Default Group Description
RES_BUF_FRAMES long 0 DATA The number of frames of recorded data.
RES_BUF_WIDTH long 720 IMAGE The width of scan-converted data, in pixels.
RES_BUF_HEIGHT long 576 IMAGE The height of scan-converted data, in pixels.
RES_BUF_RF bool false IMAGE Whether the recorded data is RF or scan-converted.
RES_BUF_DICOM bool false DICOM Whether this header file refers to native DICOM data or image sequence files (true) or Stradwin ".sxi" files (false).
RES_DICOM_FRAME_LIST longs - DICOM An ordered list of values indicating which DICOM or image files or frames are included in this Stradwin file. A value of zero indicates the first DICOM/image file found in this directory.
RES_POS_REC bool true POS Whether we have recorded positional data with each image.
RES_RF_VECTORS long 127 RF The number of vectors in recorded RF data.
RES_RF_SAMPLES long - DICOM The number of samples in each vector of recorded RF data.
# text - - Comment token - this can be followed by any textual comment.
RES_END_HEADER - - - A special token signifying the end of the header section.
RES_BIN_IM_FILENAME text - DATA The name of the binary ".sxi" file (including extension) to load with this ".sw" file. Alternatively, if RES_BUF_DICOM is true, the name of the first (lowest number) DICOM or image file to associate with this ".sw" file.
RES_VERSION text 4.0 - The Stradwin version which wrote this file.
RES_CORRECTED_PRESSURE bool false DATA Whether the image data has been corrected for probe pressure using an image-based algorithm.
RES_CORRECTED_POS bool false DATA Whether the image data has been corrected for small positional errors using an image-based algorithm.
RES_MASKED_DATA long 0 DATA 1 if the image data has been masked (non-data areas set to zero and ignored in visualisations), 0 otherwise.
RES_INVERT_BSCAN bool false IMAGE Whether the probe surface is at the top (false) or bottom (true) of the displayed image.
RES_BUF_DOPPLER bool false IMAGE Whether the data is grey-scale (B-scan) or colour (Doppler).
RES_VID_XPOS long 0 IMAGE The horizontal offset, in pixels, between the left hand edge of the un-cropped image data and the actual recorded data.
RES_VID_YPOS long 0 IMAGE The vertical offset, in pixels, between the top edge of the un-cropped image data and the actual recorded data.
RES_VID_RATE long -1 IMAGE The video recording rate. A number greater than zero indicates frames per second. Other values are 0:as fast as possible, -1:gate recording to positions, -3:record a single image, -4:record multiple sweeps, -5:buffered recording.
RES_VID_MOVE_THRESH double 0.03 IMAGE Movement threshold (in cm) for recording a new frame, if performing gated recording.
RES_VID_GREY_THRESH long 24 IMAGE When recording Doppler data, the intensity threshold (as an 8-bit integer) below which a colour video signal is regarded as being grey-scale.
RES_VID_CHROMA_THRESH long 20 IMAGE When recording Doppler data, the difference in the chroma signals (as 8-bit integers) above which a colour video signal is regarded as being Doppler.
RES_CAL_DATE text - CAL Date of the last probe positional calibration. Empty if no calibration has been performed.
RES_CAL_PROBE text - CAL The name of the probe for which the current calibration is valid.
RES_CAL_DEPTH double 0 CAL The depth (in cm) of the image for which the current calibration is valid.
RES_XTRANS double 0 CAL The x (lateral) translation (in cm) from the top left corner of the image to the position sensor coordinate system.
RES_YTRANS double 0 CAL The y (axial) translation (in cm) from the top left corner of the image to the position sensor coordinate system.
RES_ZTRANS double 0 CAL The z (elevational) translation (in cm) from the top left corner of the image to the position sensor coordinate system.
RES_AZIMUTH double 0 CAL The Euler azimuth (in degrees from -180 to 180) from the top left corner of the image to the position sensor coordinate system.
RES_ELEVATION double 0 CAL The Euler elevation (in degrees from -90 to 90) from the top left corner of the image to the position sensor coordinate system.
RES_ROLL double 0 CAL The Euler roll (in degrees from -90 to 90) from the top left corner of the image to the position sensor coordinate system.
RES_XSCALE double 0.01 CAL The lateral (x) scale of the scan-converted image, in cm per pixel.
RES_YSCALE double 0.01 CAL The axial (y) scale of the scan-converted image, in cm per pixel.
RES_POINTER_CAL_DATE text - CAL Date of the last pointer positional calibration. Empty if no calibration has been performed.
RES_POINTER_XTRANS double 0 CAL The x translation (in cm) from the pointer tip to the position sensor coordinate system.
RES_POINTER_YTRANS double 0 CAL The y translation (in cm) from the pointer tip to the position sensor coordinate system.
RES_POINTER_ZTRANS double 0 CAL The z translation (in cm) from the pointer tip to the position sensor coordinate system.
RES_POINTCAL_CAL_DATE text - CAL Date of the last Cambridge pointer positional calibration. Empty if no calibration has been performed.
RES_POINTCAL_XTRANS double 0 CAL The x translation (in cm) from the pointer's calibration point to the position sensor coordinate system.
RES_POINTCAL_YTRANS double 0 CAL The y translation (in cm) from the pointer's calibration point to the position sensor coordinate system.
RES_POINTCAL_ZTRANS double 0 CAL The z translation (in cm) from the pointer's calibration point to the position sensor coordinate system.
RES_ISOCENTRE_CAL_DATE text - CAL Date of the last room isocentre calibration. Empty if no calibration has been performed.
RES_ISOCENTRE_XTRANS double 0 CAL The x translation (in cm) from the position sensor to the room coordinate system.
RES_ISOCENTRE_YTRANS double 0 CAL The y translation (in cm) from the position sensor to the room coordinate system.
RES_ISOCENTRE_ZTRANS double 0 CAL The z translation (in cm) from the position sensor to the room coordinate system.
RES_ISOCENTRE_AZIMUTH double 0 CAL The Euler azimuth (in degrees from -180 to 180) from the position sensor to the room coordinate system.
RES_ISOCENTRE_ELEVATION double 0 CAL The Euler elevation (in degrees from -90 to 90) from the position sensor to the room coordinate system.
RES_ISOCENTRE_ROLL double 0 CAL The Euler roll (in degrees from -90 to 90) from the position sensor to the room coordinate system.
RES_POS_MANUAL bool false CAL Whether the positions have been manually entered.
RES_POS_MANUAL_TRAN long 0 CAL The axis (or 0 for no translation) for manually entered positions.
RES_POS_MANUAL_SPAN long 0 CAL The total translation distance in mm for manually entered positions.
RES_POS_MANUAL_ROT long 0 CAL The axis (or 0 for no rotation) for manually entered rotations.
RES_POS_MANUAL_ANGLE long 0 CAL The total rotation angle in degrees for manually entered rotations.
RES_POS_MANUAL_RADIUS long 0 CAL The offset radius in mm about which the rotations occurs for manually entered rotations.
RES_DICOM_HUM double 1.0 DICOM Part of the conversion between raw data values and Hounsfield Units (HU), where HU = (raw * DICOM_HUM) + DICOM_HUB.
RES_DICOM_HUB double 0.0 DICOM Part of the conversion between raw data values and Hounsfield Units (HU), where HU = (raw * DICOM_HUM) + DICOM_HUB.
RES_DICOM_WIN_WIDTH double - DICOM The window width for DICOM display, in Hounsfield Units. The default value is whatever is stored in the corresponding DICOM files.
RES_DICOM_WIN_CENTRE double - DICOM The window centre for DICOM display, in Hounsfield Units. The default value is whatever is stored in the corresponding DICOM files.
RES_DICOM_FILTER long 0 DICOM Applies a Gaussian filter of extent (2*RES_DICOM_FILTER+1) to the raw data before windowing, to remove noise. '0' turns this filter off.
RES_DICOM_BMD_PHANTOM text No DICOM The phantom which was detected in CT data and used to convert Hounsfield Units to density, or 'No' if this has not been done.
RES_DICOM_BMD_SCALE double 1.0 DICOM Part of the conversion between Hounsfield Units (HU) and density (mg/cm3), where density = (HU-BMD_OFFSET)/BMD_SCALE.
RES_DICOM_BMD_OFFSET double 0.0 DICOM Part of the conversion between Hounsfield Units (HU) and density (mg/cm3), where density = (HU-BMD_OFFSET)/BMD_SCALE.
RES_THICKNESS_SCALE_MM long 40 DICOM The maximum scale value (in tenths of a mm) for the surface colour map when displaying bone cortical thickness estimation from CT DICOM data.
RES_THICKNESS_SCALE_HU long 20 DICOM The scale value range (in 100 Hounsfield Units) for the surface colour map when displaying bone cortical density estimation from CT DICOM data.
RES_THICKNESS_ZERO_HU long 0 DICOM The minimum scale value (in 100 Hounsfield Units) for the surface colour map when displaying bone cortical density estimation from CT DICOM data.
RES_THICKNESS_SCALE_HUMM long 8 DICOM The scale value range (in 1000 Hounsfield Unit x mm) for the surface colour map when displaying bone cortical mass estimation from CT DICOM data.
RES_THICKNESS_TYPE long 0 DICOM The type of thickness algorithm used. This corresponds to the index (starting from zero) in the 'technique' choice in the thickness task page.
RES_THICKNESS_LINE double 1.8 DICOM The line length in cm for bone cortical thickness estimation from CT DICOM data.
RES_THICKNESS_GAUSS double 1e10 DICOM The std for the Gaussian blur in cm for bone cortical thickness estimation from CT DICOM data. 1e10 indicates the value should be estimated from the data.
RES_THICKNESS_RECT double 0.0 DICOM The size of rectangular blur in cm for bone cortical thickness estimation from CT DICOM data. 1e10 indicates the value should be estimated from the data.
RES_THICKNESS_A double 1e10 DICOM The external CT value in HU for bone cortical thickness estimation from CT DICOM data. 1e10 indicates the value should be estimated from the data.
RES_THICKNESS_B double 1e10 DICOM The cortical CT value in HU for bone cortical thickness estimation from CT DICOM data. 1e10 indicates the value should be estimated from the data.
RES_THICKNESS_C double 1e10 DICOM The trabecular CT value in HU for bone cortical thickness estimation from CT DICOM data. 1e10 indicates the value should be estimated from the data.
RES_THICKNESS_A_AVERAGE double 1e10 DICOM The average external CT value in HU for bone cortical thickness estimation from CT DICOM data. Only used when also modelling metal in CT data. 1e10 indicates the average has not been measured.
RES_THICKNESS_C_AVERAGE double 1e10 DICOM The average trabecular CT value in HU for bone cortical thickness estimation from CT DICOM data. Only used when also modelling metal in CT data. 1e10 indicates the average has not been measured.
RES_THICKNESS_CREATE_INNER bool true DICOM Whether to include the inner (endocortical) surface when creating a new surface from cortical thickness measurements.
RES_THICKNESS_CREATE_OUTER bool true DICOM Whether to include the outer (periosteal) surface when creating a new surface from cortical thickness measurements.
RES_THICKNESS_CREATE_CAPS bool false DICOM Whether to include the end cap (which closes the surface) when creating a new surface from cortical thickness measurements.
RES_THICKNESS_OUTLIER_REJECT long 37 DICOM When creating a surface from cortical thickness measurements, whether to exclude measurements which represent too high a curvature (less then given angle).
RES_THICKNESS_DISTANCE_REJECT long 100 DICOM When creating a surface from cortical thickness measurements, whether to exclude measurements too far away from the original surface (in pixels, 100 disables).
RES_RF_DISPLAY enum BSCAN RF How to generate a scan-converted image from RF data. Possible values are BSCAN, PHASE and STRAIN.
RES_RF_DUAL_DISPLAY bool false RF For RF data, whether to display a B-scan image side-by-side with the normal scan-converted image.
RES_RF_PROBE_NAME text Sonix L9-4/38 RF The name in the probe configuration file of the probe used for this data.
RES_RF_PROBE long -1 RF (Defunct) The character from 'A' (0) to 'Z' (25) in the probe configuration file name of the probe used for this data. Only used if RES_RF_PROBE_NAME is not defined.
RES_RF_FILTER long 1 RF The filter to use to create an analytic signal from the RF signal. Corresponds to the order of the filters in the probe configuration file.
RES_RF_LOG_MULT long 60 RF Controls the dynamic range (in dB) of a B-scan display calculated from RF data.
RES_RF_LOG_OFFSET long 20 RF Controls the offset (in dB) for a B-scan display calculated from RF data.
RES_RF_LOG_GAMMA double 1.0 RF Controls the gamma value for a B-scan display calculated from RF data.
RES_RF_PERSIST long 1 RF The number of frames to persist when calculating B-scans from RF data.
RES_RF_VECTOR_OFFSET long 0 RF The offset in vectors between the first vector available and the first vector actually recorded.
RES_RF_SAMPLE_OFFSET long 0 RF The offset in samples between the first sample available and the first sample actually recorded.
RES_RF_SCALE double 0.01 RF The scale (in cm per pixel) for scan-converting RF data.
RES_RF_FREQ long 0 RF The sample frequency for RF data, as an index into the frequencies available in the corresponding probe configuration file.
RES_RF_FOCUS long 0 RF The number of the focus used while recording RF data.
RES_RF_FOCII long 1 RF The number of focii used while recording RF data.
RES_RF_SELECT_VECTOR long 0 RF The starting vector of the selection region when processing a sub-region of the RF data.
RES_RF_SELECT_VECTORS long 0 RF The number of vectors in the selection region when processing a sub-region of the RF data. 0 if not using a sub-region.
RES_RF_SELECT_SAMPLE long 0 RF The starting sample of the selection region when processing a sub-region of the RF data.
RES_RF_SELECT_SAMPLES long 0 RF The number of samples in the selection region when processing a sub-region of the RF data. 0 if not using a sub-region.
RES_TEXO_TX_TYPE long 0 RF The type of tx beamforming, corresponding to the selection box, when using the ultrasonix texo driver.
RES_TEXO_RX_TYPE long 0 RF The type of rx beamforming, corresponding to the selection box, when using the ultrasonix texo driver.
RES_TEXO_DEPTH long 40 RF The acquisition depth, in mm, when using the ultrasonix texo driver.
RES_TEXO_FOCUS long 20 RF The focus depth, in mm, when using the ultrasonix texo driver.
RES_TEXO_GAIN long 70 RF The transmit power (0-100) when using the ultrasonix texo driver.
RES_ULAOP_DEPTH long 512 RF The depth in samples when using Stradwin with the ULA-OP system.
RES_ULAOP_PRF long 12000 RF The pulse repetition frequency when using Stradwin with the ULA-OP system.
RES_ULAOP_TGCA long 18 RF The initial gain in dB when using Stradwin with the ULA-OP system.
RES_ULAOP_TGCB long 0 RF The depth gain in dB when using Stradwin with the ULA-OP system.
RES_TMD_GAIN long 80 RF The receive gain, as a percentage of the maximum value, when using Stradwin with a Telemed system.
RES_TMD_POWER long 50 RF The transmit power, as a percentage of the maximum value, when using Stradwin with a Telemed system.
RES_TMD_RANGE long 70 RF The dynamic range, in dB, when using Stradwin with a Telemed system.
RES_TMD_DEPTH long 50 RF The scanning depth, in mm, when using Stradwin with a Telemed system.
RES_TMD_AVERAGE long 0 RF The number of frames to average when using Stradwin with a Telemed system.
RES_TMD_FOCUS long 3 RF The focal point, as an index into the set of possible focal points, when using Stradwin with a Telemed system.
RES_TMD_DYNAMIC bool true RF Whether to use dynamic receive focusing when using Stradwin with a Telemed system.
RES_TMD_DENSITY long 2 RF The RF line density, as an index into the available line densities, when using Stradwin with a Telemed system.
RES_TMD_FREQUENCY long 0 RF The transmit frequency, as an index into the available frequencies, when using Stradwin with a Telemed system.
RES_TMD_REJECT long 15 RF The noise rejection, as a percentage of the maximum value, when using Stradwin with a Telemed system.
RES_TMD_GAMMA long 30 RF The gamma value, as a percentage of the maximum available, when using Stradwin with a Telemed system.
RES_TMD_TGCn (n=0...4) long 50 RF The time gain control values from 0 to 4, each as a percentage of the maximum gain value, when using Stradwin with a Telemed system.
RES_STRAIN_SUBSAMPLE long 5 STRAIN The sub-sampling factor for the analytic signal in strain processing.
RES_STRAIN_ALGORITHM long 5 STRAIN The algorithm used in strain processing, as an index into the corresponding selection box.
RES_STRAIN_EWEIGHTING long 1 STRAIN The envelope weighting when using WPS for strain calculation, as an index into the corresponding selection box.
RES_STRAIN_PWEIGHTING long 1 STRAIN The phase weighting when using WPS for strain calculation, as an index into the corresponding selection box.
RES_STRAIN_LOGCOMPRESS bool false STRAIN Whether to compress the envelope before strain processing.
RES_STRAIN_LATERAL bool true STRAIN Whether to perform a lateral search during strain processing.
RES_STRAIN_ELEVATIONAL bool true STRAIN Whether to perform an elevational search during strain processing.
RES_STRAIN_LATEL_SMOOTH bool false STRAIN Whether to perform smooth lateral and elevational searching.
RES_STRAIN_HALF_CYCLES long 4 STRAIN The number of cycles at the probe centre frequency corresponding to half the length of the displacement tracking filter.
RES_STRAIN_WINDOW_2D bool true STRAIN Whether to use 2D windows for displacement tracking.
RES_STRAIN_WINDOW_3D bool false STRAIN Whether to use 3D windows for displacement tracking.
RES_STRAIN_SKIP_PIXELS long 8 STRAIN How many vertical display pixels between displacement estimates.
RES_STRAIN_DIFF_2D bool true STRAIN Whether to space displacement estimates across vectors as well as display pixels.
RES_STRAIN_DIFF_3D bool false STRAIN Whether to also space displacement estimates across frames.
RES_STRAIN_DROPOUTS long 3 STRAIN The lateral search distance (in vectors) for dropout correction.
RES_STRAIN_TRACK_FROM_ZERO bool false STRAIN Whether to initialise the displacement tracking at zero.
RES_STRAIN_TRACK_FROM_TOP bool true STRAIN Whether to start tracking from the top or the bottom of the image.
RES_STRAIN_DIFF_OFFSET long 1 STRAIN Half the width of the gradient filter, in displacement windows.
RES_STRAIN_GRADIENT_2D bool false STRAIN Whether to use 2D kernels to calculate gradients.
RES_STRAIN_GRADIENT_3D bool true STRAIN Whether to use 3D kernels to calculate gradients.
RES_STRAIN_WEIGHTING bool false STRAIN Whether to weight gradient estimation using the data quality measure.
RES_STRAIN_POSTFILTER_ALGORITHM long 4 STRAIN What algorithm to use to filter strain estimates, as an index into the corresponding selection box.
RES_STRAIN_FILTER_RANGE long 25 STRAIN Half the range for the strain filter, in number of displacement windows.
RES_STRAIN_PERSISTENCE long 20 STRAIN How long to persist strain estimates for, in frames.
RES_STRAIN_NORMALISE long 8 STRAIN What algorithm to use to normalise the strain data, as an index into the corresponding selection box.
RES_STRAIN_NORM_RANGE double 3 STRAIN The range of normalised strain to display.
RES_STRAIN_NORM_SCALE long 35 STRAIN An adjustment for the display of normalised strain.
RES_STRAIN_NOISE long 57 STRAIN The level of strain noise which is acceptable to display (100=display everything).
RES_STRAIN_REG_CONT long 50 STRAIN The extent of first order smoothing in nonparametric regression (0=none, 100=max).
RES_STRAIN_REG_CONT_AX bool true STRAIN Whether to perform first order smoothing in nonparametric regression in the axial direction.
RES_STRAIN_REG_CONT_LAT bool true STRAIN Whether to perform first order smoothing in nonparametric regression in the lateral direction.
RES_STRAIN_REG_CONT_EL bool true STRAIN Whether to perform first order smoothing in nonparametric regression in the elevational direction.
RES_STRAIN_REG_SMOOTH long 0 STRAIN The extent of second order smoothing in nonparametric regression (0=none, 100=max).
RES_STRAIN_REG_SMOOTH_AX bool false STRAIN Whether to perform second order smoothing in nonparametric regression in the axial direction.
RES_STRAIN_REG_SMOOTH_LAT bool false STRAIN Whether to perform second order smoothing in nonparametric regression in the lateral direction.
RES_STRAIN_REG_SMOOTH_EL bool false STRAIN Whether to perform second order smoothing in nonparametric regression in the elevational direction.
RES_FLAP_LOOP bool true FLAPPING Whether to move a 3D mechanical probe in alternating directions or not.
RES_FLAP_MODE long 1 FLAPPING The acquisition mode for a 3D mechanical probe. 0=frame at once, 1=volume at once, 2=multiple volume.
RES_FLAP_VOLUMES long 2 FLAPPING The number of acquisition volumes for a 3D mechanical probe.
RES_FLAP_STEPS long 50 FLAPPING The number of frames in one volume for a 3D mechanical probe.
RES_FLAP_RANGE long 10 FLAPPING The range in degrees for one volume of a 3D mechanical probe.
RES_FRAMES_IN_VOL long 1 FLAPPING The number of frames per volume in recorded data.
RES_FLAP_PAIREDSCAN long 0 FLAPPING The number of frames at each step of the motor.
SWEEPS longs - SWEEPS A list of frame numbers representing the last frame in each of a set of multiple sweeps.
RES_SWEEP_ADJUSTMENT long 100 SWEEPS Values in the range 0-100 affect how multiple sweep data is partitioned.
RES_USE_PARTITIONS bool true SWEEPS Enables and disables the partitioning of multiple sweep data.

Multiple line parameters saved in the text data ".sw" file

The following parameters are followed by multiple values on each line. There can also be multiple copies of each parameter. For instance, there is one line of the form

IM time x y z azimuth elevation roll
for each frame in the data file, where each line gives a timestamp and the location and orientation of the image.

Token Data file Template file Config file Values Group Description
IM time x y z azimuth elevation roll DATA One line per frame of data. The time (in 100 ns intervals), location x,y,z (in cm) and Euler angles (in degrees) of the position sensor at the point this image was recorded. The probe calibration values are also needed for conversion to the image coordinate system. If no positional information was recorded (RES_POS_REC false), this line only contains the time.
LANDMARK {type} {o} x y z {nx ny nz} name LANDMARKS One line per landmark (specific locations recorded by clicking on stored data). The location x,y,z (in cm) of this landmark in the position sensor base (world) coordinate system. If {type} is '2D' then z is the frame number. If type is 'SURF' then o is the associated object, and the surface normal {nx,ny,nz} is also stored.
CURVE o c x0 y0 z0 nx0 ny0 nz0 .. xn yn zn nxn nyn nzn name LANDMARKS One line per surface-based curve (a contour recorded by clicking on surface data). o is the associated object and c whether the curve is closed (0 or 1). The locations xn,yn,zn (in cm) and surface normals nxn,nyn,nzn are stored in order, followed by the name.
FIDUCIAL x y z name LANDMARKS One line per fiducial (specific locations recorded by using a tracked pointing device). The location x,y,z (in cm) of this fiducial in the position sensor base (world) coordinate system.
OBJECT n solid r g b a name OBJECT One line per object, up to a maximum of ten. The number n of the object, whether it is solid (0 or 1), the color r,g,b and transparency a, and the name.
CONT o f closed x0 y0 .. xn yn OBJECT One line per defined contour in the data. The number of the object o which contains this contour, the frame f in which it was defined, whether the contour is closed (0 or 1) and the x and y locations, in pixels from the top left corner of the frame, of the contour vertices.

Parameters saved only in template ".swt" files

Token Data file Template file Config file Type Default Group Description
RES_BSCAN_OPACITY double 1.0 - The opacity of the strain image overlaid on a B-scan. If 1, the strain image is shown opaque.
RES_RF_TX_FIRE double 1.5 RF The trigger level in volts of the tx sync signal when using a Gage acquisition card.
RES_TX_POLARITY bool true RF The sense of the TX sync signal when using a Gage acquisition card.
RES_RF_FRAME_SYNC double 2.5 RF The trigger level in volts of the frame sync signal when using a Gage acquisition card.
RES_FRAME_POLARITY bool false RF The sense of the frame sync signal when using a Gage acquisition card.
RES_IMP_50_OHM bool false RF What input impedance to use with a Gage acquisition card.
RES_TX_FIRE_STOP bool true RF Whether to use the trailing edge of the TX sync signal when using a Gage acquisition card.
RES_TX_FIRE_VAR long 0 RF The amount of percentage variation allowed in the TX sync signal when using a Gage acquisition card.
RES_TEMP_CALIB long 0 CAL A value in ms to subtract from the position timestamps, in order to take account of any fixed delay between these and the image source timestamps.
RES_AUTO_CORRECT_POS bool false POS Whether to correct the frame positions from the image data during recording.
RES_POS_DETECT enum AUTO POS What position sensor to look for connected to a serial port. Possible values are AUTO=auto-detect, FASTRAK, PATRIOT, FLOCK=Flock of Birds, MINI=Mini Flock of Birds, LASER=Laser Bird, POLARIS=Polaris, Spectra or Vicra.
RES_SERIAL_PORT text COM1 (windows) /dev/ttyS0 (linux) POS The serial port for communicating with a position sensor.
RES_SERIAL_SPEED long 38400 POS The data rate for communicating with a position sensor.
RES_POLARIS_POINTER int 0 POS Determines which port to use for the pointer on a Polaris system. A value of zero indicates Stradwin will work this out automatically.
RES_POLARIS_PORT int 0 POS Determines which port to use for the position sensor on a Polaris system. Possible values are 0=Auto, 1=Port 1, 2=Port 2, 3=Port 3, 4=Port 1 relative to 2, 5=Port 1 re 3, 6=Port 2 re 1, 7=Port 2 re 3, 8=Port 3 re 1, 9=Port 3 re 2.
RES_VIDEO_STANDARD int 0 IMAGE The video standard, if using a V4L2 or DIRECT_SHOW driver. 0=PAL, 1=NTSC, 2=PAL 4by3, 3=NTSC 4by3.
RES_VID_PORT long 2 IMAGE Indicates where video is coming from if using a V4L2 or DIRECT_SHOW driver. 1=camera, 2=composite, 4=SVideo, 8=digital.
RES_VID_PORT_NUMBER long 0 IMAGE Selects a numbered video input on the video device (Linux only). 0=auto (attempt to deduce the input from RES_VID_PORT), other values override RES_VID_PORT.
RES_VID_CARD enum - IMAGE Source for image data. Can be DIRECT_SHOW, V4L2, GAGE_RF, TERASON, TERASON_RF, ULTRASONIX, ULTRASONIX_RF, ULTRASONIXP, ULTRASONIXP_RF, ULTRASONIXT_RF and ULAOP. This is followed by a string which indicates specific details of the image source.
RES_UTX_PRESET text - IMAGE Name of preset to use when using the Ultrasonix porta driver.
RES_TERASON_PRESET text - IMAGE Name of preset to use when using the Terason driver.
RES_ULAOP_SEQUENCE text - IMAGE Name of sequence preset to use when using the ULA-OP driver.

Parameters saved only in the configuration "stradwin.ini" file

Token Data file Template file Config file Type Default Group Description
RES_SEGMENT_TYPE long 2 - The topology for automated thresholding: 0 segments all contours, 1 segments only holes within the object, 2 only segments the outer body of the object.
RES_SEGMENT_FRAME long 0 - Whether to segment only the current frame (0, the default) or every nth frame, when using automated thresholding.
RES_SEGMENT_RIDGES bool true - Whether to try to follow ridges which are below the threshold when automatically thresholding data. If this is false, stradwin will revert to the previous default of jumping over gaps in the thresholded data.
RES_JUMP_THRESH long 10 - The gap, in pixels, which may be included in an automated segmentation, despite not being within the threshold. If 'res_segment_ridges' is 'true', this is the maximum length of a ridge, otherwise it is the distance (in any direction) of the gap.
RES_SEGMENT_CONNECTED bool true - Whether to only segment objects which are connected with the initial click point (true, the default value) or segment every object which is currently thresholded.
RES_THRESH_BY_ZOOM bool false - Whether the automate the jump_thresh and simplify_thresh resources according to the current zoom in the main review window.
RES_SIMPLIFY_THRESH long 3 - When contours are created after thresholding, they are accurate to much better than a pixel, and contain very short segments. This threshold allows the contours to be simplified slightly, which increases the segment length, making the contours easier to edit. The default is '3' which is 0.3 of a pixel.
RES_DISPLAY_RATE long 0 - The rate at which the display of data in Stradwin is throttled. This can be used to reduce the processing overhead when recording data. A value of 0 indicates no display throttling.
RES_RESLICE_OPACITY double 0.5 - The opacity with which the reslices are displayed in the 3D window. 1.0=opaque, 0.0=invisible.
RES_DISPLAY_PIXELS bool false - If set to true, turns off image interpolation in all windows, so that the actual data pixels are visible when the data is sufficiently zoomed.
RES_DISPLAY_COG bool true - If set to true, display centres-of-gravity of each surface in the 3D window, and in other windows when they are close enough.
RES_DISPLAY_FRAME bool true - If set to true, display the current frame and its intersection (in red) in 3D and reslice windows, and also the extents of the reslices (in white).
RES_BACKGROUND text #323232 - The colour used for background (non-data) in the data windows, as three hexadecimal RGB values.
RES_GLUT_FONT long 4 - The font used to draw text in the graphics windows, as an index into the 'graphics font' selection box. This also controls the sizes of some other graphics elements.
RES_SEE_MARK long 0 - Whether landmarks are permanently visible in all windows.
RES_SEE_DRAW long 0 - Whether contours and objects are permanently visible in all windows.
RES_DEBUG_VIDEO_DEVICE long 0 - Setting this to 1 causes Stradwin to display diagnostic information about any installed video grabbing devices.
RES_MOUSE_SENSITIVITY long 5 - The number of pixels deemed to be a non-drag of the mouse, and the distance limit for selection.
RES_CURSOR_ROTATION long 5 - The angle to rotate by (in degrees) for each individual cursor press in the 3D and reslice windows, or on the tracker-ball.
RES_CURSOR_MOVEMENT long 5 - The amount to move by (in image pixels) for each individual cursor press in the 3D and ortho windows, or on the tracker-grids.
RES_SCROLL_ZOOM long 5 - The amount to increase or decrease the zoom by (in percent) for each individual scroll-wheel click in the 3D, review and reslice windows.
RES_MOUSE_MIDDLE_OVERRIDE long 0 - Controls which tool the middle mouse button selects.
RES_MOUSE_RIGHT_OVERRIDE long 0 - Controls which tool the right mouse button selects.
RES_EXPERT_MODE bool false - If enabled, turns off various warnings and checks.
RES_ICON_SIZE long -1 - Determines whether the icon size is set (>=0) or automated according to screen size (-1).
RES_STRAIN_CMAP long 4 - An index (starting from zero) into the selection box for the strain colour map.
RES_STRAIN_CMAP_INVERT bool false - Whether to invert the colours in the strain images. If true, displays stiff objects as black and soft objects as white when using the grey colour maps.
RES_THICKNESS_DISP_MAP long 0 - An index (starting from zero) into the selection box for which property to map over the surface after thickness estimation.
RES_THICKNESS_DISP_COL long 0 - An index (starting from zero) into the selection box for which colour map to use in thickness estimation.
RES_UTX_SDK_PATH text - - The default folder to look for the Ultrasonix SDK.
RES_UTX_SETTINGS_PATH text D:\Ultrasonix Settings\User Settings - The default folder to look for Ultrasonix user presets.
RES_UTX_LICENSE_PATH text D:\Ultrasonix Settings - The default folder to look for the porta licenses_web.txt file.
RES_UTX_CMAP_PATH text C:\Program Files\Ultrasonix\Exam\Settings\Maps - The default folder to look for the Ultrasonix colour map files.
RES_UTX_TYPE long 0 - The machine type for the impero connection. 0=SonixRP, 1=SonixMDP, 2=SonixArrakis, 3=SonixTouch.
RES_UTX_USM long 2 - Passed to the usm parameter when initialising the Sonix hardware.
RES_UTX_PCI long 2 - Passed to the pci parameter when initialising the Sonix hardware.
RES_UTX_HV long 0 - Passed to the hv parameter when initialising the Sonix hardware.
RES_UTX_DDR long 1 - Passed to the ddr parameter when initialising the Sonix hardware.
RES_UTX_CHANNELS long 1 - Passed to the channels parameter when initialising the Sonix hardware.
RES_ULTRASONIX_IP text 127.0.0.1 - The default address for connection to a Sonix via the ulterius interface.
RES_ULTRASONIX_INJECT bool false - Whether to inject images back to the Sonix using ulterius or display them in Stradwin.
RES_TERASON_SETTINGS_PATH text - - The default folder to look for settings when using the Terason driver.
RES_ULAOP_SETTINGS_PATH text - - The default folder to look for ULA-OP user presets.
RES_CAL_STRIPES long 20 - The number of vertical lines (stripes) used during plane-based probe calibration.
RES_CAL_MINGRAD double 5 - The minimum gradient threshold for line detection in plane-based probe calibration.
RES_CAL_PIXTHRESH long 3 - The allowable deviation of a point from the fitted straight line in plane-based probe calibration.
RES_CAL_INVERT bool false - Whether to turn the image upside-down before probe calibration.
RES_CAL_ACCEPT_RATIO double 0.6 - The percentage of stripes which need to agree with the fitted straight line in plane-based probe calibration.
RES_CAL_TEMPERATURE double 10 - The water temperature (in degrees) for probe calibration.
RES_FLAP_PORT text COM4 - The serial port used for the mechanical 3D probe.
RES_SNAP_LANDMARKS bool true - Whether to constrain data-clicked landmarks to lie on one of the acquired frames.
RES_VRML2_SURFACES bool true - Whether to save surfaces in VRML2 format (true) or VRML1 format (false).
RES_DAT_THICKNESS_FILES bool true - Whether to save thickness files in the new DAT format with corresponding PLY surfaces (true) or the pre v5.2 format (false).
RES_PASSWORD text stradwin - Non-secure password used to change to and from config mode.