Skip to content

Data Acquisition

Chris Meyer edited this page Jun 13, 2021 · 1 revision

Overview

  • Data is acquired on a thread, preferably with little or no Python interaction
  • Once the data is acquired, it is shared with Python via a NumPy array
  • Once Python has a NumPy array, the data can be organized into more complex structures
    • Multi dimensional
    • Processing on some or all dimensions
    • Adding metadata
  • Once organized into structured data, it can be submitted to Swift to be stored in a data item
  • Data items must be updated and written on the main thread, care must be taken to minimize UI unresponsiveness
  • Key classes are HardwareSource in Swift (this will be moved to instrumentation kit soon)
  • Key package is nionswift-instrumentation-kit which provides common tools and UI for acquisition