Skip to main content

GUI to upload Pixel Quality Control tests to ITk Production Database

Project description

module-qc-nonelec-gui 0.0.3

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/sw/db/pixels/qc-viz-tools-dev/qc-helper.git
cd qc-helper
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/qc-helper
python3 -m qc_helper
#or
qc-helper

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/qc-helper_test/qc-helper
(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 qc-helper

$qc-helper
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.3.tar.gz (563.2 kB view details)

Uploaded Source

Built Distribution

module_qc_nonelec_gui-0.0.3-py3-none-any.whl (612.8 kB view details)

Uploaded Python 3

File details

Details for the file module_qc_nonelec_gui-0.0.3.tar.gz.

File metadata

  • Download URL: module_qc_nonelec_gui-0.0.3.tar.gz
  • Upload date:
  • Size: 563.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for module_qc_nonelec_gui-0.0.3.tar.gz
Algorithm Hash digest
SHA256 835c52a074aee5f9daa762f979ca295abd140f3dc00ac733bb0ca37aa969fdaf
MD5 d3958da50cbbed8c5c893c4e59092717
BLAKE2b-256 4a2b59a1a55cad752b4845163f4d4b0720974370272d9173d7877a112f756a7d

See more details on using hashes here.

File details

Details for the file module_qc_nonelec_gui-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for module_qc_nonelec_gui-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 65ebbed17a13114214f62be8a56fbd84644a941eb43092543c9dc4daa86941d2
MD5 f395340d8522cc41563ceb1dadf7b570
BLAKE2b-256 334042d1c66cd170781bf6331db6b774339c1f134fca3dbf51e5cceec22cde90

See more details on using hashes here.

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