OmniViewer is simple tool to inspect the contents of various binary file formats. This can be an extremely useful tool to confirm that binary files actually contain the data one expects, or to spot potential problems in that data. OmniViewer supports processed point files, raw sonar files and binary navigation files.
OmniViewer User Interface
When started, OmniViewer offers a single button to open a file. Clicking the button and choosing a file will cause up to three tabs to be displayed, depending on what information OmniViewer was able to extract from the file.
After finishing with one file, another may be opened via the File > Open File... menu entry.
Header Data Tab
This tab contains a simple table of file properties that were read from the file's header block. The actual contents will vary from file format to file format. Note that not all file formats contain a header block.
Point Data Tab
This tab displays a table of the processed point data contained in the file, if any. Each point is displayed on its own numbered row. Each column holds a single property or flag. The set of columns is specific to the particular file format.
Instead of loading the entire file all at once, the points are loaded in pages, both to improve performance and to ease navigation. The number of Points Per Page can be adjusted via the spin box at the bottom of the tab. The Previous Page and Next Page buttons can be used to navigate forward and backward through the file. The Jump To... button allows jumping to a particular location in the file by specifying by the Record and Subrecord numbers. The exact meanings of record and subrecord vary between file formats, but typically a record number indicates a ping number and a subrecord number indicated a beam number within that ping.
This tab displays a tree of metadata about the type of data and the various datagrams found in the file. Note that it does not display all the individual datagrams themselves. The exact contents will depend on the specific format, but the last section will show a summary of all the different datagram types found, including: the time range within which that datagram type appeared, the numeric ID of the datagram type, the textual name of the datagram type and the total number of occurrences.