Catalog PyPI
Back to packageRELEASE DETAILS

2026.8.2

PyPI

ai-center

Automated Sample Alignment for MX using a YOLO Model

Published24 Aug 2026
Direct dependencies8
Transitive dependenciesNot calculated

README

Version 2026.8.2 documentation

aicenter

A python based Soft IOC Server for Sample Alignment using a YOLO model.

Installation

python -m venv my-venv
source my-venv/bin/activate
pip install ai-center

To enabled downloading of the latest model file from HuggingFace, install with the [model] extra as follows:

pip install ai-center[model]

Running

To run the EPICS IOC directly, use the following command:

app.epics --device "AIC001" --model "/path/to/model.pt" --video "video_uri"

Command-line Arguments

  • --device: The EPICS root name of the device (e.g., AIC001 or AIC002). (Required)
  • --model: Path to the YOLO model file. If omitted, the latest model will be downloaded from HuggingFace. The model is about 50 MB in size.
  • --video: The URI for the video stream. (e.g., redis://hostname/0030180F06E5:JPG) (Required)
  • --confidence: Object detection confidence threshold. (Optional, default: 0.1)
  • -v: Enable verbose logging. (Optional)

Currently, only file://, redis:// and http[s]:// video schemes are supported

EPICS Process Variables

  • AIC001:enable: Set to 1/0 to Enable/Disable Inference
  • AIC001:loop:score: Score of best loop
  • AIC001:loop:box: Bounding Box of best loop
  • AIC001:loop:valid: 1 if best loop is still valid
  • AIC001:loop:id: id of best loop, not used at the moment
  • AIC001:crystal:score: Score of best crystal
  • AIC001:crystal:box: Bounding Box of best crystal
  • AIC001:crystal:valid: 1 if best crystal is still valid
  • AIC001:crystal:id: id of best crystal, not used at the moment
  • AIC001:pin:score : Score of best pin
  • AIC001:pin:box: Bounding Box of best pin
  • AIC001:pin:valid: 1 if best pin is still valid
  • AIC001:pin:id : ID of best pin, not used at the moment
  • AIC001:extra:box: Bounding Box array of extra Crystals (x1, y1, x2, y2) in sequence, length is 4 x number of extra crystals
  • AIC001:extra:score: Array of scores of extra crystals
  • AIC001:extra:valid: Array of validity of extra crystals, 1 if valid 0 if invalid
  • AIC001:extra:id: Corresponding IDs, of extra crystals (not used at the moment)

If you installed the [view] extra, you can also run the stand-alone inference viewer which displays the inference in a window as follows:

app.view --model "/path/to/model.pt" --video "video_uri"

Command-line Arguments

  • --model: Path to the YOLO model file. If omitted, the latest model will be downloaded from HuggingFace. The model is about 50 MB in size.
  • --video: The URI for the video stream. (e.g., redis://hostname/0030180F06E5:JPG) (Required)
  • --confidence: Object detection confidence threshold. (Optional, default: 0.1)
  • -v: Enable verbose logging. (Optional)

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 8

Native requirements
8 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
devioc
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
devioc<2026.0.0,>=2025.6.2runtime
huggingface-hub
Environment
{
  "extras": "",
  "marker": "extra == \"model\"",
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
huggingface-hub==1.28.0; extra == "model"runtime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
numpy<3.0.0,>=2.4.6runtime
onnxruntime-gpu
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
onnxruntime-gpu<2.0.0,>=1.26.0runtime
opencv-contrib-python
Environment
{
  "extras": "",
  "marker": "extra == \"view\"",
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
opencv-contrib-python<5.0.0.0,>=4.13.0.92; extra == "view"runtime
opencv-python
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
opencv-python<5.0.0.0,>=4.13.0.92runtime
redis
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
redis<9.0.0,>=8.0.0runtime
ultralytics
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "!=3.14.1,<3.15,>=3.11",
  "evaluation": "NOT_EVALUATED"
}
ultralytics==8.4.62runtime

Distribution files

2 collected
ai_center-2026.8.2-py3-none-any.whl

bdist_wheel · 14.68 KB · Python py3

Source file
ai_center-2026.8.2.tar.gz

sdist · 12.53 KB · Python source

Source file

Repository

PENDING
michel4j/ai-center

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:07 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:fbd619d4aaab8a319dd2c5f158c06eb5fcdfba6b6db91ee57d41411e5abe990f

Other collected versions

View all collected versions →