Architecture
Basic structure
The central component of pixet_ctrl.py is MiniPixCtrl.
User Application
│
▼
MiniPixCtrl
│
▼
pypixet / PIXet Python API
│
▼
PIXet core
│
▼
MiniPIX / Timepix detector
MiniPixCtrl is a high-level control layer that provides a thin wrapper around the PIXet Pro Python API. It brings together connection management, pixel configuration, detector parameter settings, exposure, and frame retrieval.
Internal state
MiniPixCtrl primarily maintains the following internal references:
_pixet: Main PIXet core object obtained frompypixet.pixet._dev: Detector object obtained frompixet.devices(); currently the first device is used._pixcfg: Pixel configuration obtained from_dev.pixCfg()._logger: A supplied logger or the standardlogginglogger.
Initialization on connection
For Timepix / MPX2 devices, the pixel mode is configured through the pixel configuration rather than through setOperationMode(). Currently, connect() sets every pixel to PX_TPXMODE_TOT immediately after connecting and applies the configuration to the device using setToDevice().
Accordingly, measurement modes are changed through set_mode_all().
Frame acquisition structure
Image acquisition is delegated to PIXet’s doSimpleAcquisition(). After acquisition, frames stored within the PIXet core are retrieved with acqFrameRefInc() and converted to Python dictionaries by _frame_to_dict().
doSimpleAcquisition()
│
▼
PIXet internal acquisition frames
│
▼
acqFrameRefInc(idx)
│
▼
_frame_to_dict(frame)
│
▼
{"name", "width", "height", "data", "subframes"}
_frame_to_dict() reads not only the main frame but also subFrames() when available. Each retrieved frame and subframe is ultimately released using destroy().
Role in a gRPC deployment
For network access, MiniPixCtrl runs on the server, and gRPC clients call equivalent control methods.
Client Program
│
▼
SyncPixetGrpcClient / AsyncPixetGrpcClient
│
▼
gRPC
│
▼
pixet_grpc_server.py
│
▼
MiniPixCtrl
│
▼
PIXet Python API
│
▼
MiniPIX Detector
Direct detector control remains inside the server process connected to the physical hardware; users interact through the client API.