PCLImagenex83xLoader

MacroModule
genre FileMain
author Wolf Spindler
package FMEwork/ReleaseMeVis
definition PCLImagenex83xLoader.def
see also LocalImage, ImageSave, PCLLoad, PCLSave, PCLR2SonicWCLoader
keywords sonar, importer, loader, reader, imagenex, deltat, 83B, 837, 83X

Purpose

This is a reader for pairs of .837/.83B files created by Model 837 DeltaT Azimuth Drive Sonar System by the IMAGENEX TECHNOLOGY CORP.. To create a useful point cloud at the module outputPCLObject0, both files have to be provided next to each other.

Output points are of type XYZINormal which means that each point is a tupel (x, y z, w, nx, ny, nz, nw, intensity):

  • x / data[0]: the x-component of the point
  • y / data[1]: the y-component of the point
  • z / data[2]: the z-component of the point
  • w / data[3]: the homogeneous scale factor (usually 1)
  • x / data_n[0]: the x-component of the normal of the point (usually 0)
  • y / data_n[1]: the y-component of the normal of the point (usually 0)
  • z / data_n[2]: the z-component of the normal of the point (usually 0)
  • data_n[3]: the homogeneous scale w-component of the normal of the point (usually 0)
  • curvature: the curvature value of the point (usually 0)
  • intensity: the intensity value of the point (the magnitude value of the signal)

Thank you to Dr. Miriam Roemer for providing a draft reader and examples data for such files which were very useful to implement this module.

Windows

Default Panel

../../../Projects/MLSonarSupport/Modules/mhelp/Images/Screenshots/PCLImagenex83xLoader._default.png

Output Fields

outputPCLObject0

name: outputPCLObject0, type: MLBase

Point cloud output in Cartesian coordinates(usually with PCL XYZINormals). This module still does not set up any indices in the output base object, which, however, may be added in the future.

outputPCLObject1

name: outputPCLObject1, type: MLBase

Point cloud output in raw index coordinates corresponding to the sonar scan order (usually with PCL XYZINormals). This module still does not set up any indices in the output base object, which, however, may be added in the future.

Parameter Fields

Field Index

Absolute File Name Base: String Hundredth Of Seconds: String Sector Size: Integer
Acoustic Frequency: Integer Hundredths Of Seconds: String Sonar X Offset: Float
Acoustic Range: Integer Intensity Scale: Float Sonar Y Offset: Float
Angle Increment: Float Max Radius Clamp: Float Sonar Z Offset: Float
Azimuth Head Position Correction Angle: Float Operating Frequency: Float Sound Velocity (soundVelocityOf837): Integer
Beams: Integer Phi Clamp Interval Max: Float Sound Velocity (soundVelocityOf83B): Float
Date (dateOf837): String Phi Clamp Interval Min: Float Start Angle: Float
Date (dateOf83B): String Ping Number: Integer Start Gain: Float
Display Gain: Integer Pitch: Float Status: String
GPS Ships Heading (gpsShipsHeadingOf837): Float Pitch Angle: Float Theta Clamp Interval Max: Float
GPS Ships heading (gpsShipsHeadingOf83B): Float Profile Tilt Angle (profileTiltAngleOf837): Float Theta Clamp Interval Min: Float
GPS Ships Position Latitude (gpsShipsPositionLatitudeOf837): String Profile Tilt Angle (profileTiltAngleOf83B): Integer Theta Clamp Min: Float
GPS Ships Position Latitude (gpsShipsPositionLatitudeOf83B): String Pulse Length (pulseLengthOf837): Integer Threshold: Integer
GPS Ships Position Longitiude (gpsShipsPositionLongitudeOf837): String Pulse Length (pulseLengthOf83B): Integer Time (timeOf837): String
GPS Ships Position Longitiude (gpsShipsPositionLongitudeOf83B): String Range Resolution: Integer Time (timeOf83B): String
GPS Ships Speed (gpsShipsSpeedOf837): Float Repetition Rate (repetitionRateOf837): Integer Version: String
GPS Ships Speed (gpsShipsSpeedOf83B): Float Repetition Rate (repetitionRateOf83B): Integer Video Frame Length: Integer
Heading: Float Roll: Float Xdcr Display Mode: Integer
Heading Angle: Float Roll Angle: Float XdcrUpDown: String
Height Clamp: Integer Samples Of Beam: Integer  

Visible Fields

Absolute File Name Base

name: absoluteFileNameBase, type: String

File pair base for the .83B/.837 files, either without suffix, or with an arbitrary suffix of “.” + three characters which then is ignored for convenience to determine the file pair base. The file pair to be loaded will always be created from the file pair base plus the suffixes “.83B” and “.837”.

Threshold

name: threshold, type: Integer, default: 5

Threshold at which points are clamped if they are smaller. This value is measured in the unit of the sonar signal data.

Height Clamp

name: heightClamp, type: Integer, default: 14

All values at coordinates below this value are skipped (measured in meters).

Max Radius Clamp

name: maxRadiusClamp, type: Float, default: 98

All values at radiii larger than Max Radius Clamp are skipped (measured in meters).

Theta Clamp Min

name: thetaClampMin, type: Float, default: -30

All values with a theta smaller than Theta Clamp Min are skipped (measured in degrees).

Phi Clamp Interval Min

name: phiClampIntervalMin, type: Float, default: -360

If any sonar data point has a phi value smaller than Phi Clamp Interval Min in polar coordinates in degrees then it is skipped.

Phi Clamp Interval Max

name: phiClampIntervalMax, type: Float, default: 360

If any sonar data point has a phi value larger than Phi Clamp Interval Max in polar coordinates in degrees then it is skipped.

Theta Clamp Interval Min

name: thetaClampIntervalMin, type: Float, default: -34

All values in range [Theta Clamp Interval Min, Theta Clamp Interval Max] are skipped (measured in degrees).

Theta Clamp Interval Max

name: thetaClampIntervalMax, type: Float, default: -28

All values in range [Theta Clamp Interval Min, Theta Clamp Interval Max] are skipped (measured in degrees).

Intensity Scale

name: intensityScale, type: Float, default: 1

Value used to scale the incoming intensity values.

Azimuth Head Position Correction Angle

name: azimuthHeadPositionCorrectionAngle, type: Float, default: 60

Correction angle in degrees of the azimuth head position, typically needed if the sonar head is not placed in normal position.

Status

name: status, type: String, default: File name base is empty

Shows success state of the recent read operation.

Date (dateOf837)

name: dateOf837, type: String, persistent: no

Date field of .837 file (DD-MMM-YYYY).

Time (timeOf837)

name: timeOf837, type: String, persistent: no

Time field of .837 file (HH:MM:SS).

Hundredths Of Seconds

name: hundredthOfSecondsOf837, type: String, persistent: no, deprecated name: hundredsOfSecondsOf837

Hundredths of seconds time of time string field of 837 file, for example “.64” means 64 hundredth.

Video Frame Length

name: videoFrameLengthOf837, type: Integer, persistent: no

Length of video frame field of 837 file in bytes if available or 0 otherwise (length = 54 + (video_window_width * video_window_height * 3))

XdcrUpDown

name: xdcrUpDownOf837, type: String, persistent: no

Xdcr Up/Down field of 837 file (0=Down, 1=Up).

Xdcr Display Mode

name: xdcrDisplayMode, type: Integer, persistent: no

Xdcr Display Mode field of 837 file (Binary Or of bits: 0=Sector, 1=Linear, 2=Perspective, 3=Profile, 4=Beamtest).

Start Gain

name: startGainOf837, type: Float, persistent: no

Start Gain field of 837 file (0 to 20 in 1 dB increments).

Profile Tilt Angle (profileTiltAngleOf837)

name: profileTiltAngleOf837, type: Float, persistent: no

Profile Tilt Angle field of 837 file in degrees.

Pulse Length (pulseLengthOf837)

name: pulseLengthOf837, type: Integer, persistent: no

Pulse Length field of 837 file in microseconds.

Sound Velocity (soundVelocityOf837)

name: soundVelocityOf837, type: Integer, persistent: no

Sound Velocity field of 837 file in m/s.

GPS Ships Position Latitude (gpsShipsPositionLatitudeOf837)

name: gpsShipsPositionLatitudeOf837, type: String, persistent: no

GPS Ships Position Latitude field of 837 file (_dd.mm.xxxxx_N with dd=Degrees, mm=Minutes, xxxxx = Decimal Minutes, _=Space, N=North or S=South).

GPS Ships Position Longitiude (gpsShipsPositionLongitudeOf837)

name: gpsShipsPositionLongitudeOf837, type: String, persistent: no

GPS Ships Position Longitiude field of 837 file (_dd.mm.xxxxx_E with dd=Degrees, mm=Minutes, xxxxx = Decimal Minutes, _=Space, E=East or W=West).

GPS Ships Speed (gpsShipsSpeedOf837)

name: gpsShipsSpeedOf837, type: Float, persistent: no

GPS Ships Speed field of 837 file in knots.

GPS Ships Heading

name: gpsShipsHeadingOf837, type: Float, persistent: no

GPS Ships Heading field in degrees of 837 file.

Operating Frequency

name: operatingFrequencyOf837, type: Float, persistent: no

Operating Frequency field of 837 file in kHz.

Pitch

name: pitchOf837, type: Float, persistent: no

Pitch Angle field of 837 file in degrees.

Roll

name: rollOf837, type: Float, persistent: no

Roll Angle field of 837 file in degrees.

Heading

name: headingOf837, type: Float, persistent: no

Heading Angle field of 837 file in degrees.

Repetition Rate (repetitionRateOf837)

name: repetitionRateOf837, type: Integer, persistent: no, deprecated name: repititionRateOf837

Repetition Rate field of 837 file in ms.

Display Gain

name: displayGainOf837, type: Integer, persistent: no

Display Gain in % from 0 to 100.

Version

name: versionOf83BFile, type: String, persistent: no

83B Version field of 83B file.

Date (dateOf83B)

name: dateOf83B, type: String, persistent: no

Date field of .83B file (DD-MMM-YYYY) (system date).

Time (timeOf83B)

name: timeOf83B, type: String, persistent: no

Time field of .83B file (HH:MM:SS) (system time).

Hundredth Of Seconds

name: hundredthOfSecondsOf83B, type: String, persistent: no, deprecated name: hundredsOfSecondsOf83B

Hundredths of seconds time of time string field of 83B file, for example “.64” means 64 hundredth.

GPS Ships Position Latitude (gpsShipsPositionLatitudeOf83B)

name: gpsShipsPositionLatitudeOf83B, type: String, persistent: no

GPS Ships Position Latitude field of 83B file (_dd.mm.xxxxx_N with dd=Degrees, mm=Minutes, xxxxx = Decimal Minutes, _=Space, N=North or S=South).

GPS Ships Position Longitiude (gpsShipsPositionLongitudeOf83B)

name: gpsShipsPositionLongitudeOf83B, type: String, persistent: no

GPS Ships Position Longitiude field of 83B file (_dd.mm.xxxxx_E with dd=Degrees, mm=Minutes, xxxxx = Decimal Minutes, _=Space, E=East or W=West).

GPS Ships Speed (gpsShipsSpeedOf83B)

name: gpsShipsSpeedOf83B, type: Float, persistent: no

GPS Ships Speed field of 83B file in knots.

GPS Ships heading

name: gpsShipsHeadingOf83B, type: Float, persistent: no

GPS Ships Heading field in degrees of 83B file.

Pitch Angle

name: pitchAngleOf83B, type: Float, persistent: no

Pitch Angle field of 83B file in degrees.

Roll Angle

name: rollAngleOf83B, type: Float, persistent: no

Roll Angle field of 83B file in degrees.

Heading Angle

name: headingAngleOf83B, type: Float, persistent: no

Heading Angle field of 83B file in degrees.

Beams

name: beamsOf83B, type: Integer, persistent: no

Beams field of .83B file.

Samples Of Beam

name: samplesPerBeamOf83B, type: Integer, persistent: no

Number of Sameples Per Beam field of .83B file (HH:MM:SS).

Sector Size

name: sectorSizeOf83B, type: Integer, persistent: no

Sector Size field of 83B file in degrees.

Start Angle

name: startAngleOf83B, type: Float, persistent: no

Start Angle field of 83B file (Beam 0 angle) in degrees.

Angle Increment

name: angleIncrementOf83B, type: Float, persistent: no

Angle increment field of 83B file in degrees.

Acoustic Range

name: acousticRangeOf83B, type: Integer, persistent: no

Acoustic Range field of 83B file in meters.

Acoustic Frequency

name: acousticFrequencyOf83B, type: Integer, persistent: no

Acoustic Frequency field of 83B file in kHz.

Sound Velocity (soundVelocityOf83B)

name: soundVelocityOf83B, type: Float, persistent: no

Sound Velocity field of 83B file in m/s.

Range Resolution

name: rangeResolutionOf83B, type: Integer, persistent: no

Range Resolution field of 83B file in millimetres.

Pulse Length (pulseLengthOf83B)

name: pulseLengthOf83B, type: Integer, persistent: no

Pulse Length field of 83B file in microseconds.

Profile Tilt Angle (profileTiltAngleOf83B)

name: profileTiltAngleOf83B, type: Integer, persistent: no

Profile Tilt Angle field of 83B file in degrees (mount offset).

Repetition Rate (repetitionRateOf83B)

name: repetitionRateOf83B, type: Integer, persistent: no, deprecated name: repititionRateOf83B

Repetition Rate field of 83B file in ms (time between pings).

Ping Number

name: pingNumberOf83B, type: Integer, persistent: no

Ping Number field of 83B file (increment for every ping).

Sonar X Offset

name: sonarXOffsetOf83B, type: Float, persistent: no

Sonar X-Offset field of 83B file in meters.

Sonar Y Offset

name: sonarYOffsetOf83B, type: Float, persistent: no

Sonar Y-Offset field of 83B file in meters.

Sonar Z Offset

name: sonarZOffsetOf83B, type: Float, persistent: no

Sonar Z-Offset field of 83B file in meters.