Radiation Detection — Faster, Simpler, Cheaper

Manufacturing Radiation Detection Instruments for Industry and Security

Software components

wxMCA: The wxMCA software bundle provides a graphical user interface, programing examples, device drivers and hardware simulators for all of Bridgeport's MCA and Counter product. The GUI is designed to work on Win 10 and Ubuntu Linux while the MCA Data Server and the examples will work on wider variety of platforms, including Raspberry Pi.

MCA Data Server: The MCA Data Server (MDS) provides access to any number and types of detectors. All other processes are clients to the server. Clients can be local or across the network.

wxPython GUI: The cross-platform Graphical User Interface is implemented using wxPython and performs on Windows 10 and Linux.

wxGUI: The GUI is a cross-platform application that runs on Win10 and Linux. It is extendable to include application-specific code, and can be translated into languages other than English.

Examples: We provide a number of sigle-purpose Data Accquisition Examples. They can be found in the wxMCA/examples/ folder. Even though they are mostly written in Python, they can be easily translated into other languages, since all data and commands are presented as JSON strings.

Downloads: We provide a Windows installer that includes the needed Python and a signed driver. The up to date wxMCA bundle (Win10 and Linux) can be downloaded here: wxMCA.zip. Check the wxMCA/version.txt file for version information. Linux does not require a signed driver.

Documentation: Detailed and device specific MCA Data Server documentation can be found here.

MCA Data Server

This is an indispensable software component. It connects the client to the radiation detector. It includes everything, from the low-level USB driver to the data server. It operates under Win10 and Linux. The software stack is shown below.

  • Server application: It connects to the attached MCA's and processes client commands.
  • Clients can access the MDS locally or through the entwork.
  • Clients can access the MDS from almost all popular programming languages.
  • Command layer allowing for the use of human readable commands and data in JSON format.
  • API layer for direct access through Python and using the contents of the MCA's FPGA / ARM M0+ registers and bit fields.
  • USB driver built on libusb0.1

wxGUI

  • GUI Main panel provides control and data acess to all MCA parameters.
  • GUI secondary panels are independent clients for specific taks, such as histogram display etc.
  • GUI can be extended to include application-specific panels.
  • GUI is implemented using wxPython to give it cross-platform performance (Win10, Linux)
  • GUI texts can be translated into any language by the customer.

wxGUI Tour

  • A quick explanation of the Main page and the independent display clients
  • Histograms and calibration
  • Pulse capture
  • Sample vs Background with alarms
  • List mode and Pulse Shape Discrimination
  • Arrival time
  • Portal Monitor operation
  • Two-channel logger

Examples

  • wxMCA/examples/: Provides data acquistion samples for each product.
  • Examples are small applications focused on a single task, such as acquiring a histogram.
  • All commands and data are stored in JSON strings, hence the examples can easily be converted to other programming languages.
  • Most examples are clients to the MDS. Where appropriate programming via UART/Serial and C, on a Raspberry Pi 3 and 4, is also shown.