Humminbird Side Imaging Forums

Side Imaging Forums => Helix Series Units => Topic started by: Scaling on November 10, 2019, 05:06:36 AM

Title: Helix 9 Data Format - decode binary files
Post by: Scaling on November 10, 2019, 05:06:36 AM
Hello everyone! Im a scientist and working on methods for automated sediment and makrophyte classification.
Therefore i need to get the rawdata (echogramm) out of the .DAT and .SON files. I already tried the dataformat described here (https://github.com/dbuscombe-usgs/PyHum/blob/master/docs/data_formats.rst) but it doesnt seem to fit for the Helix 9 files.

I would really appreciate any help to find out what byte represent what kind of data.

Kind regards
Scaling
Title: Re: Helix 9 Data Format - decode binary files
Post by: rnvinc on November 11, 2019, 09:10:41 AM
Wow  ... This is way over my head  ... More into R Gecy's knowledge but he doesn't post much anymore  ...

You might also post this same question in some of the other sub-forums (General, Software, DIY, etc) that you think may pertain to the question  ...

Some guys frequent other sub-forums that may not see your question here  ...

Rickie
Title: Re: Helix 9 Data Format - decode binary files
Post by: Rüdiger on November 12, 2019, 04:45:42 AM
Hi Scaling

Welcome to the forum :)
Maybe you will find the required data in the data stream of the network output of your device. Per Pelin, the developer of DrDepth also used this output for parts of his software. A contact with him could be helpful. Google it - Per Pelin Gothenburg -.

mvh
Rüdiger

Title: Re: Helix 9 Data Format - decode binary files
Post by: Scaling on November 13, 2019, 11:36:51 AM
Thank you guys for the reply. After two nights in front of the hex editor i actually managed to decrypt the files i need.  ;D The format is similar but not exactly how Daniel Buscombe described it for other models. Some Bytes are still unknown but i got all i need for my master thesis. All data is unsigned and big endian.

DAT file:
64 Bytes
(1-20) - Spacer/unknown
(21-24) - UNIX Timestamp
(25-28) - UTM X
(29-32) - UTM Y
(33-42) - character - File Name
(43-44) - Spacer
(45-48) - number of rrecords
(49-52) - record length in milliseconds
(53-56) - line size
(57-64) - unknown

IDX file: - (time)(startbyte) points onto the record of a segment in the related .son file
(1-4) - time in ms since start of record
(5-8) - Byte at which position a new block starts
...repeat

SON file: contains the echo data. each new echo ping is a new block. each block has a header and the data behind. idx file points on the blocks
Block 1
(1-5) - always the same. indicates the start of a new block (192, 222, 172, 33, 128)
(6-9) - record Nr.
(7) - spacer
(11-14) - time in ms (same as in idx)
(15) - spacer
(16-19) - UTM X
(20) - spacer
(21-24) - UTM Y
(25) - spacer
(26-27) - gps good/ bad, 0/1
(28-29) - heading in °/10
(30)-spacer
(31-32) - ? water type? gps?
(33-34) - speed in cm/s
(35-40) - spacer
(41-44) - depth in cm
(45) - spacer
(46) - beam nr. (0=50/83khz, 1=200khz,2=port,3=starboard)
(47) - spacer
(48) - volt scale?
(49) - spacer
(50-53) - frequency (should be same as in byte 46)
(54-67) - spacer
(68-71) - length of each sentence (amount of bytes for each ping in data section)
(72) - spacer
NOW STARTES THE DATA its 8- bit integer unsigned -> a integer value between 0-255 (creates the shade of the grey of echogramm)
(73-1649) - thats the length of the data in my case. dont know if it varies over different measurements
---------------------------------------------------------------------------------------------------------------
one block (ping) done now repeat with the next block starts with the header again and data after.
 
Hope this helps if someone. :)

Best wishes
Scaling

Title: Re: Helix 9 Data Format - decode binary files
Post by: rnvinc on November 14, 2019, 08:22:39 AM
Thanks for reporting this info  ...

Rickie
SimplePortal 2.3.3 © 2008-2010, SimplePortal