Imagenex Rotary Sonar Data (Sector and Profile)

The Imagenex 881A Imaging Rotary Sonar devices area multi-frequency digital scanning sonars.
http://www.imagenex.com/Products/881A/881A_Imaging/881a_imaging.html
http://www.imagenex.com/Products/881A/881A_Profiling/881a_profiling.html

The data products for Imagenex 881A sonars are described here. Currently, there are two types of Imagenex Rotary 881A Sonar scans supported: Sector (also known as Imaging) and Profile.  Sector scans represent a horizontal rotation of the sonar, like a radar, and profile describe a vertical rotation, like a radar turned on it's edge or a freewheel. The data products for both are the same, except that imaging plots have a direction arrow to indicate true north (see the device's metadata for the heading), while the profiling plots will contain a mention that a tilt angle offset was applied to orient them vertically (see the device details page (example) -> additional attributes -> sonarProfileTiltAngle). In either case, the plots will also note if there's no heading or tilt angle available (for the profiling plots without the tilt angle offset, the seabed echo may appear upside-down reversed and/or off-horizontal - this will be improved as the tilt angles are updated). Also note that the tilt angle offset is applied for all Imagenex Rotary Sonar data products for profiling sonars, when it is defined. In general, these data products contain the same information that is available through the manufacturer's software; primarily backscatter amplitude, range, head angle and time, plus various metadata.

Oceans 3.0 API filterdataProductCode=IRSD

Revision History

  1. 20150601: Initial release, migrated from VENUS data download
  2. 20160201: device attribute sonarProfileTiltAngle applied to orient all Imagenex Rotary data products vertically for profiling sonars

Data Product Options

Daily or Scan-Separated Files

For .txt and .81a data, this option determines whether a specified time range of downloaded data will be split into files by day or by scan.  An Imagenex rotary sonar will perform one scan every hour. 


File-name mode

'-daily' or '-hourly' will be appended to the file-name.

Formats

Imagenex sector and profile scans are available in 6 formats: MAT, AVI video (no sound), PDF and PNG static images, animated GIF81A (proprietary Imagenex raw format) and TXT text files.

MAT
  • One file generated per day of data.
  • Contains the following structures: Meta, Data. 

Meta: a structure array containing the following metadata fields:

  • deviceID: A unique identifier to represent the instrument within the Ocean Networks Canada data management and archiving system.
  • creationDate:Date and time (using ISO8601 format) that the data product was produced. This is a valuable indicator for comparing to other revisions of the same data product.
  • deviceName: A name given to the instrument.
  • deviceCode: A unique string for the instrument which is used to generate data product filenames.
  • deviceCategory: Device category to list under data search ('Echosounder').
  • deviceCategoryCode: Code representing the device category. Used for accessing webservices, as described here: API / webservice documentation (log in to see this link).
  • lat: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site latitude and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure..
  • lon: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site longitude and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • depth: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site depth and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • deviceHeading: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site heading and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • devicePitch: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site pitch and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • deviceRoll: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site roll and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • siteName: Name corresponding to its latitude, longitude, depth position.
  • locationName: The node of the Ocean Networks Canada observatory. Each location contains many sites.
  • stationCode: Code representing the station or site. Used for accessing webservices, as described here: API / webservice documentation (log in to see this link).
  • dataQualityComments: In some cases, there are particular quality-related issues that are mentioned here.
  • MobilePositionSensor: A structure with information about sensors that provide additional scalar data on positioning and attitude (latitude, longitidue, depth below sea surface, heading, pitch, yaw, etc).

    • name: A cell array of sensor names for mobile position sensors. If not a mobile device, this will be an empty cell string.
    • sensorID: An array of unique identifiers of sensors that provide position data for mobile devices - this data may be used in this data product.
    • deviceID: An array of unique identifiers of devices that provide position data for mobile devices - this data may be used in this data product.
    • dateFrom: An array of datenums denoting the range of applicability of each mobile position sensor - this data may be used in this data product.
    • dateTo: An array of datenums denoting the range of applicability of each mobile position sensor - this data may be used in this data product.
    • typeName: A cell array of sensor names for mobile position sensors. If not a mobile device, this will be an empty cell string. One of: Latitude, Longitude, Depth, COMPASS_SENSOR, Pitch, Roll.
    • offset: An array of offsets between the mobile position sensors' values and the position of the device (for instance, if cabled profiler has a depth sensor that is 1.2 m above the device, the offset will be -1.2m).
    • sensorTypeID: An array of unique identifiers for the sensor type.
    • correctedSensorID: An array of unique identifiers of sensors that provide corrected mobile positioning data. This is generally used for profiling deployments where the latency is corrected for: CTD casts primarily.
  • deploymentDateFrom: The date of the deployment on which the data was acquired.
  • deploymentDateTo: The date of the end of the deployment on which the data was acquired (will be NaN if still deployed).
  • samplingPeriod: Sample period / data rating of the device in seconds, this is the sample period that controls the polling or reporting rate of the device (some parsed scalar sensors may report faster, some devices report in bursts) (may be omitted for some data products).
  • samplingPeriodDateFrom: matlab datenum of the start of the corresponding sample period (may be omitted for some data products).
  • samplingPeriodDateTo: matlab datenum of the end of the corresponding sample period (may be omitted for some data products).
  • sampleSize: the number of readings per sample period, normally 1, except for instruments that report in bursts. Will be zero for intermittent devices (may be omitted for some data products).
  • SamplePeriodSensor: A structure array with an entry for each scalar sensor on the device (even though this metadata is for complex data products that don't use scalar sensors).

    • sp: sample period in seconds (array), unless sensorid is NaN then this is the device sample period
    • dateFrom: array of date from / start date (inclusive) for each sample period in MATLAB datenum format.
    • dateTo: array of date to / end date (exclusive) for each sample period in MATLAB datenum format.
    • sampleSize: the number of readings per sample period (array). Normally 1, except for instruments that report in bursts. Will be zero for intermittent devices.
    • deviceID: array of unique identifiers of devices (should all be the same).
    • sensorID: array of unique identifiers of sensors on this device.
    • isDeviceLevel: flag (logical) that indicates, when true or 1, if the corresponding sample period/size is from the device-level information (i.e. applies to all sensors and the device driver's poll rate).
    • sensorName: the name of the sensor for which the sample period/size applies (much more user friendly than a sensorID).
  • citation: a char array containing the DOI citation text as it appears on the Dataset Landing PageThe citation text is formatted as follows: <Author(s) in alphabetical order>. <Publication Year>. <Title, consisting of Location Name (from searchTreeNodeName or siteName in ONC database) Deployed <Deployment Date (sitedevicedatefrom in ONC database)>. <Repository>. <Persistent Identifier, which is either a DOI URL or the queryPID (search_dtlid in ONC database)>. Accessed Date <query creation date (search.datecreated in ONC database)>
  • Attribution: A structure array with information on any contributors, ordered by importance and date. If an organization has more than one role it will be collated. If there are gaps in the date ranges, they are filled in with the default Ocean Networks Canada citation. If the "Attribution Required?" field is set to "No" on the Network Console then the citation will not appear. Here are the fields:
    • acknowledgement: the acknowledgement text, usually formatted as "<organizationName> (<organizationRole>)", except for when there are no attributions and the default is used (as shown above).
    • startDate: datenum format
    • endDate: datenum format
    • organizationName
    • organizationRole: comma separated list of roles
    • roleComment: primarily for internal use, usually used to reference relevant parts of the data agreement (may not appear)

Data: A structure array containing the following fields:

  • scans: the data, per scan
    • hourX: Where X is an integer between 0 and 23, representing the hour of the scan.
      • switchCommands: Hex string representing configurations for the scan.
      • switchCommandsTimeStr: timestring (yyyyMMddThhmmss.milisZ) the switchCommand was sent
      • startScanDate: An array of time strings (#pings x 1) (yyyy-MMM-dd hh:mm:ss) when each ping in the scan was started. 
      • data (#pings x #radial bins): Sonar ping data
      • dmasDataTimeStr: timestring (yyyyMMddThhmmss.milisZ) of eachdata ping
      • time: matlab datenum of each data ping
      • angle: (#pings x1) array of angles
      • range: (#pingsx1) array - maximum range of sonar scan, in meters
      • slantRange: (#pingsx1) array - range to each radial bin
      • profileRange
      • dataBytes: resolution (Number of bytes) of the returned echo data (matches the number of radial bins if Data.scanMeta.numDataBits is 8)
      • headPosition: angular position of the sonar head for each ping
      • stepDirection: direction of rotation
  • scanMeta: Information about the scans
    • timeStamp: Start time of the scan
    • sonarHeadId: 
    • sonarRange: range from instrument for which data is collected
    • sonarRange_units: units of solarRange
    • sonarGain: 
    • sonarGain_units: units of sonarGain
    • sonarLogF:
    • sonarLogF_units: units of sonarLogF
    • absorption: acoustic attenuation coefficient
    • absorption_units: units of absorption
    • trainAngle:
    • trainAngle_units: units of trainAngle
    • sectorWidth: total angular distance of a scan
    • sectorWidth_units: units of sectorWidth
    • stepSize: angular increments of pings in a scan
    • stepSize_units: units of stepSize
    • pulseLength: length (in time) of each sonar transmit pulse
    • pulseLength_units: units of pulseLength
    • profileMinimumRange: minimum range for which the sonar gathers data
    • profileMinimumRange_units: units of profileMinimumRange
    • numDataPoints: number of radial bins
    • numDataBits: bits per radial bin, normally 8
    • profileOn: Profile setting switch.
    • frequency: Sonar ping frequency
    • frequency_units: units of frequency
    • scanHours: (#hours * 1) array of all the hours (0->23) (removed, September 2015)
    • dataTypeStr: String representing the type of the data - imaging or profiling (moved to Data.scans.hourX, September 2015)
    • sonarProfileTiltAngle: for profiling sonar (vertical orientation) only, offset angle to vertical, applied to correct the angle on the sonar head
    • sonarProfileTiltAngle_units: units of the sonarProfileTiltAngle (degrees)
Example:


Oceans 3.0 API filter: extension=mat

Image Products: PNG / PDF / AVI / GIF Formats


The root imaging product is the PNG file. Users will see the usual location and device header at the top, the text in the lower left to indicates the range and scan number, start and stop times, and the graph in the bottom-right depicts the pressure fluctuations over the course of the 24 hours from a collocated CTD (if available). A PNG search will provide multiple, static images one per scan or profile. The PDF product contains multiple scans on multiple pages in vector format (infinite resolution). The GIF product collates PNG scans for each day. The AVI product, like the PDF product, contains as many images / scans as possible with the limit determine by file size (approximately 100 MB for the PDF, up to 1 GB or 4096 scans for the AVI). Both the GIF and AVI formats move through the scan images every 0.5 seconds, see example GIF above.

If the imaging plots do not have a heading, a small comment will appear instead of the North arrow. If the profiling plots do not have an orientation, a small note will also appear.

Oceans 3.0 API filter: extension={png,pdf,avi,gif}

81A

81A files are the manufacturer’s native data format and readable by the software program win881A.exe (downloadable from the Imagenex website http://www.imagenex.com/Downloads/downloads.html).

TXT

These files are the same as the log file products, with the 'Z' stripped out of the dates and driver and non-hex lines removed. Plus, the sonarProfileTiltAngle is applied to orient the data vertically. Imagenex TXT files are also available with the 'hourly' or scan separated option. Sample output:

imagenex txt output
20111216T000000.012> fe 44 10 05 00 00 43 00 12 01 10 00 78 03 10 00 00 00 00 19 08 06 00 00 05 a5 fd
20111216T000001.014> fe 44 10 05 00 00 43 00 12 01 10 00 78 03 10 00 00 00 00 19 08 06 00 00 05 a5 fd
20111216T000002.018> fe 44 10 05 00 00 43 00 12 01 10 00 78 03 10 00 00 00 00 19 08 06 00 00 05 a5 fd
20111216T000003.018> fe 44 10 05 00 00 43 00 12 01 10 00 78 03 10 00 00 00 00 19 08 06 00 00 05 a5 fd

Oceans 3.0 API filter: extension=txt

Discussion

To comment on this product, click Add Comment below.


  • No labels