Concept
DigImage: Particle Tracking
:::: IMAGE CAPTURE
:::: PARTICLE LOCATION
:::: PARTICLE MATCHING
:::: OPERATION
Subsequent Analysis
:::: STRUCTURE OF FILES
:::: BASIC OPERATION OF TRK2DVEL
:::: CONFIGURATION OF TRK2DVEL
:::: FACILITIES
Advanced Features
:::: PARTICLE-TAGGED DATA
:::: IMAGE PREPROCESSING
Experimental Hints
Index
As noted in section 2.4 , particle tracking under DigImage produces four output files. The first, base_name.PARrecords the various parameters used to control the tracking process, some of which will be needed during the analysis phase. The pixel to world coordinate system mappings stored in base_name.WLD will not generally be needed. The two main tracking files are base_name.IND and base_name.PRT. The first of these is a formatted file to act primarily as an index to the .PRT file. In addition to this indexing role, the .IND file contains information relating to the status of the tracking at each time step. Each line in the file contains the following information:
iSample iStartRecord iEndRecord rmsError nMatches iUseBuffer iReDo iTimeCodeCorrection
where
| Data Name | Data Type | Description |
| iSample | INTEGER*2. | The sample number of the information contained in this line. The time for this information is the product if iSample and the time step size set by [;USTS Sample spacing]. |
| iStartRecord | INTEGER*4. | Acts as an index to the record in the .PRT file containing information about the first particle in the current sample. |
| iEndRecord | INTEGER*4. | Acts as an index to the record in the .PRT file containing information about the last particle in the current sample. The number of particles for the current sample is therefore iEndRecord-iStartRecord+1. |
| rmsError | REAL*4. | Records the root mean square (rms) error in the permanent reference point mapping function for the image associated with this sample. Note that if no reference points are used this field will contain a value of -1.0. If too few reference points were found to generate the mapping, this field will contain a value of 999.0. |
| nMatches | INTEGER*2. | Indicates the number of successful normal matches between particle images at this and the previous time step. |
| iUseBuffer | INTEGER*2. | Indicates which buffer was used to store the image used for this time step. |
| iReDo | INTEGER*2. | Used to indicate the number of repeat attempts DigImage had at acquiring an image with a satisfactory rms error for the reference point mapping. A value of zero indicates that the image was of adequate quality on the first attempt, while a value of -1 indicates that DigImage was unable to acquire a suitable image even after five attempts (the image will be accepted after five attempts, even if it is still of inadequate quality). |
| iTimeCodeCorrection | INTEGER*2. | This entry is used to store any corrections or errors which result from the time code pulses on the audio track of the video tape showing an inconsistent count on the video field strobe (see the help facility in the [;VV: Time code audio pulses] menu for more details). The following values are defined: 0 No correction needed. 2 Two field strobe pulses lost but corrected for. >2 More than two field strobe pulses lost but only 2 corrected for. -1 or -2 One or two interrupts lost, but corrected for. <-2 More than two interrupts lost - only two corrected for. 100 Time code offset re-zeroed. 101 Time code pulse not found.If the tracking is undertaken from either a JVC BRS822 video recorder, or from images stored on the hard disk, then this field does not contain any useful information. |
The last two entries may be used to discriminate between high and low quality tracking data. The option exists within Trk2DVel to exclude paths which have anomalous values for either of these entries.
The .PRT file is a direct access binary file. Each record within this file consists of six bytes containing information about a single particle at a single time step. The information stored depends on the maximum number of particles being tracked. For 511 or fewer particles (tracking started by [;UG Start particle tracking - 511 particles]):
| Data Name | ||
| iFrom | ||
| iFrom | ||
| iFlags | ||
| iType | ||
| iXFile | ||
| iYFile |
For 4095 or fewer particles (started by [;UH
Start particle tracking -4095 particles])
the .PRT
file contains:
| Data Name | ||
| iFrom | ||
| iFrom | ||
| iType | ||
| iXFile | ||
| iYFile |
In both cases
| Data Name | Description |
| iFrom | Nine (511 particles) or twelve (4095 particles) bits - unsigned integer. If iFrom >= 0, then iFrom is index the particle had at the previous time step. At each time step the particles are numbered from 0 to n-1, where n is the number of particles at that time step, such that the particle number at a given time step corresponds to its offset from iStartRecord into the .PRT file. The iFrom field gives the offset that the current particle had at the previous time step. A value of 511 (or -1) indicates that the particle had no match at the previous time step. |
| iFlags | Three bits (511 particles only). The iFlags bits may be used for a number of purposes. In the present version they are used to store the local background intensity or region (see section 2.1). |
| iType | Four bits - 2's compliment integer. The iType bits store the type of particle the current record corresponds to. The iType values are as follows: 0 Normal particle. 1 Elliptical particle - first of pair. -1 Elliptical particle - second of pair. 2 Large particle - first of pair. -2 Large particle - second of pair. 3 Small particle - horizontal or vertical extent < minimum, but at least 2 pixels. -3 Small particle - area < minimum. 5 Faint particle 6 Faint elliptical particle - first of pair. -6 Faint elliptical particle - second of pair. 7 Particle matched two samples back. |
| iXFile | Two bytes - unsigned integer. Rescaled x coordinate. To economise on file storage, the world coordinates are rescaled from the REAL*4 form used internally by DigImage, to a two byte unsigned integer value for storage in the .PRT file. This rescaling may be expressed as
iXFile = (x - xMin)*65535/(xMax-xMin) where iXFile is the value stored in the file, xMin is the minimum value the x coordinate may take, and xMax is the maximum value for the x coordinate. |
| iYFile | Two bytes - unsigned integer. Rescaled y coordinate. To economise on file storage, the world coordinates are rescaled from the REAL*4 form used internally by DigImage, to a two byte unsigned integer value for storage in the .PRT file. This rescaling may be expressed as
iYFile = (y - yMin)*65535/(yMax-yMin) where iYFile is the value stored in the file, yMin is the minimum value the y coordinate may take, and yMax is the maximum value for the y coordinate. |
Note that a suite of Fortran linkable assembler subroutines is
available to undertake the conversions between the file format
and a valid Fortran format see Document\Trk2Code.DOC
for details.
Goto next document (Trk2DVelOperation)
DigImage documentation page
DigImage home page
Stuart Dalziel's home page