Coder Social home page Coder Social logo

mb56 test data about mb-system HOT 1 OPEN

dwcaress avatar dwcaress commented on July 29, 2024
mb56 test data

from mb-system.

Comments (1)

schwehr avatar schwehr commented on July 29, 2024

I ended up using this script to filter the data for #322:

#!/usr/bin/env python2

import collections
import glob
import mmap
import os
import struct
import sys


class SimradFile(object):

    def __init__(self,filename):
        self.filename = filename
        tmp_file = open(filename, 'r+')
        self.size = os.path.getsize(filename)
        self.data = mmap.mmap(tmp_file.fileno(), self.size, access=mmap.ACCESS_READ)
    def __iter__(self):
        iter = SimradIterator(self)
        return iter

class SimradIterator(object):

    def __init__(self,simrad):
        self.data = simrad.data
        self.offset = 0
        self.file_size = simrad.size

    def __iter__(self):
        return self

    def next(self):
      return self.__next__()

    def __next__(self):
        if self.offset >= self.file_size:
            raise StopIteration
        dg_length = struct.unpack('I',self.data[self.offset:self.offset+4])[0]
        dg_id = self.data[self.offset+5]
        data = self.data[self.offset:self.offset + dg_length + 4]
        self.offset += 4 + dg_length
        return dg_id, data

c = collections.Counter()

with open('out.mb56', 'wb') as out:
  datagrams = 0
  for filenum, filename in enumerate(glob.glob(sys.argv[1])):
    print(filenum, filename)
    src = SimradFile(filename)
    for dg_id, data in src:
      datagrams += 1
      c[dg_id] += 1
      if c[dg_id] > 3:
        continue
      out.write(data)

from mb-system.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.