Radiation Detection — Faster, Simpler, Cheaper

Manufacturing Radiation Detection Instruments for Industry and Security

Software components

webMCA: The webMCA software bundle provides a graphical user interface, programing examples, device drivers for all of Bridgeport's MCA products. The GUI is web-based, with a python backend. Like the MCA Data Server and the examples it will work on a wide 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.

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: There is no need for a software installer. The zip archive includes the MCA Data Server as the backend and the web-mca.html file for the web browser UI. For Windows, the zip archive also includes a local minimal installation of Python 3.12, including the necessary packages.

The up to date bundle can be downloaded here: webMCA.zip.

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/11, Linux, and Rasbian. 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 libusb1 (libUSBK on Windows)

Examples

  • webMCA/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.