Skip to main content

GUI to upload Pixel Quality Control tests to ITk Production Database

Project description

module-qc-nonelec-gui 0.0.4

What is this

This package is previously known to as "QC Helper" and it provides a GUI application for submitting non-electrical QC tests of ITkPix modules.

It requires python3.7 and relevant python modules. The GUI uses PyQT5 framework.

Installation and functionality tested for CentOS Linux series.

Quick installation

git clone https://gitlab.cern.ch/hoide/module-qc-nonelec-gui.git
cd module-qc-nonelec-gui
python3 -m pip install -e .

module-qc-nonelec-gui&

Versioning Policy

Respecting for "Semantic Versioning", version number is defined as "Major.Minor.Patch".

  • Major : Major update

    For example) to be changed the structure of QC test result.

  • Minor : Minor update

    For example) to be added new submodule of QC test item.

  • Patch : Patch

    For example) to be fixed a bug or so on.

Quick Tutorial

You have to follow below document.

  • QC Software doc link

Install

git config --global credential.helper cache    ( If you want to avoid multiple authentications )
mkdir Workdir
cd ./Workdir
git clone --recursive -b [tag of latest version] https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-nonelec-gui.git
cd module-qc-nonelec-gui
python3 -m pip install -e .
#pip>=21.3 is required to install with pyproject.toml in the editable mode!!

Update

git fetch
git checkout -b [tag of latest version] [tag of latest version]    (example:  $git checkout -b v2.2.3 v2.2.3)
git submodule update

Run

cd Workdir/module-qc-nonelec-gui
python3 -m module-qc-nonelec-gui
#or
module-qc-nonelec-gui

For detail, please look below.

instruction.pdf

Environmental Debug

"#python3 -m pip install -U pip" before "python3 -m pip install PyQt5".

#yum install

 libxcb-1.13-1.el7.i686
 xcb-util-wm-0.4.1-5.el7.i686
 xcb-util-image-0.4.0-2.el7.i686
 xcb-util-keysyms-0.4.0-1.el7.i686
 xcb-util-renderutil-0.3.9-3.el7.i686
 python36-pyqt5-sip-4.19.16-3.el7.x86_64
 sip-4.14.6-4.el7.x86_64
 libxkbcommon-x11-devel-0.7.1-3.el7.x86_64
 xcb-util-wm-0.4.1-5.el7.x86_64
 xcb-util-image-0.4.0-2.el7.x86_64
 xcb-util-keysyms-0.4.0-1.el7.x86_64
 xcb-util-renderutil-0.3.9-3.el7.x86_64
 mesa-libGL.x86_64
 qt5-qtbase-gui-5.9.7-4.el7.x86_64
 qt

#yum -y groupinstall "X Window System"

More detail

If you get the error [qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.] in executing

$python3 bin/main.py,

you should do below at first.

$export QT_DEBUG_PLUGINS=1

Then, If you execute below again,

$python3 bin/main.py,

you can get a message which show what is wrong.

If you get below message, you have to install the shared library "libxcb—icccm.so.4".

Cannot load library /usr/local/lib64/python3.6/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (libxcb—icccm.so.4: cannot open shared object file: No such file or directory)

You can search what package you should download to get above shared library by using

https://pkgs.org

If you can find out what package you need, you should install it

#yum install xcb-util-wm.x86_64        (for libxcb—icccm.so.4 in CentOS7)

After finish downloading, you can check if you succeeded to install the shared library.

#find /* -name libxcb-icccm.so.4

Error which you can ignore

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

FAQ

Error on pip installing

$ python3.9 -m pip install -e .
Defaulting to user installation because normal site-packages is not writeable
ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /data/home/hirose/work/ITkPixel/module-qc-nonelec-gui_test/module-qc-nonelec-gui
(A "pyproject.toml" file was found, but editable mode currently requires a setup.py based build.)

#########################################################
# This happens when your pip version is older than 21.3.
#########################################################
#Workaround:

$python3 -m pip install --upgrade pip
#python3 might be different depending on your system (e.g. python3.7, python3.9 etc...)

Error on launching the module-qc-nonelec-gui

$module-qc-nonelec-gui
Launching GUI
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

Aborted (core dumped)

################################################################################################
# This happens when you connect a QC Helper innstalled machine remotely WITHOUT X11 formarding.
################################################################################################
#Workaround:
ssh with -Y option to your remote machine.

Golden module storage

https://cernbox.cern.ch/s/VcWorfNdGzQVxpE

Deploy golden module under src/module_qc_nonelec_gui/qc_tests/vi as golden_module directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

module_qc_nonelec_gui-0.0.4.tar.gz (575.5 kB view hashes)

Uploaded Source

Built Distribution

module_qc_nonelec_gui-0.0.4-py3-none-any.whl (632.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page