pyisomme
Installation
pip install pyisomme
PDF report export is optional. Install the PDF extra and its Chromium browser binary once after installing or updating pyisomme:
pip install "pyisomme[pdf]"
python -m playwright install chromium
Features
- Read/write ISO-MME (compressed/uncompressed)
- Modify Channel and calculate Injury Risk Values (HIC, a3ms, DAMAGE, OLC, BrIC, NIJ, ...)
- Calculate dummy head trajectories from head centre-of-gravity acceleration and rotational-velocity measurements
- Plot Curves and compare multiple ISO-MMEs
- Create PowerPoint, HTML, and PDF reports:
- Curve Correlation
- Euro NCAP: Frontal 50 km/h, Frontal MPDB, Side Barrier, Side Pole, and Side FarSide
- FMVSS: 208 and 214
- IIHS: Frontal Small Overlap, Frontal Moderate Overlap, and Side Impact
- UN: Frontal 50 km/h R137, Frontal 56 km/h ODB R94, Side Pole R135, and Side Barrier R95
- Display Limit bars in plots
- Compare performance of left-hand-drive vehicle with right-hand-drive vehicle
- Command-line tools for listing, merging, editing, converting, plotting, and reporting ISO-MME data
Command Line Interface (CLI)
Installing the package provides the pyisomme command. The equivalent
python -m pyisomme form is also supported.
pyisomme --help
pyisomme <command> --help
| Command | Purpose |
|---|---|
list |
List channels, optionally selected by code patterns |
code |
Decode a 16-character channel code and show its default unit |
merge |
Merge and transform one or more ISO-MME containers |
set |
Set one or more metadata fields on selected channels in place |
convert |
Numerically convert selected channel data to another unit in place |
plot |
Plot selected or calculated channels |
report |
Calculate and export an assessment report |
Describe a channel code:
pyisomme code 11HEADCG00H3ACXD
Code: 11HEADCG00H3ACXD
Test Object: Vehicle 1
Position: Front left
Main Location: Head
Fine Location 1: Center of Gravity
Fine Location 2: Not defined
Fine Location 3: Hybrid III Mid-Sized Adult Male Dummy
Physical Dimension: Acceleration
Direction: Longitudinal
Filter Class: CFC 60
Default unit: m / s2
Edit channel codes
pyisomme set TEST1.mme TEST2.zip --fine-location-3 H3 -c '11HEAD000000ACXP' '13CHST000000DSXP'
Convert channel values and units (e.g. 0.04 m becomes 40 mm)
pyisomme convert TEST1.mme TEST2.zip --unit mm -c '13CHST0000H3DSXP'
Merge multiple ISO-MME containers:
pyisomme merge ./iso_merged.zip ./iso_1/v1.mme ./iso_2.zip ./iso_3.tar.gz
Resample from 0 to 100 ms with a 1 ms step and linear interpolation:
pyisomme merge ./resampled.mme ./iso_1/v1.mme --resample 0 0.001 0.1
Plot a calculated resultant head acceleration with filter class A / 1000 Hz:
pyisomme plot ./iso_1/v1.mme --codes '24HEAD??????ACRA' --xlim 0 100 --calculate
Create HTML, PDF, and PowerPoint reports in one run using only data from 0 to
200 ms. Repeat -o/--output for every desired format; the format is inferred
from the output file extension.
pyisomme report EuroNCAP_Frontal_MPDB data/nhtsa/09203 --crop 0 0.2 \
-o out/report.html \
-o out/report.pdf \
-o out/report.pptx
Python Examples
Example Report
Animated preview of Euro NCAP frontal 50 km/h and IIHS frontal small overlap PDF reports generated with pyisomme (using synthetic data):
View the generated HTML and PDF reports
Limitations
- Only test-info (.mme), channel-info (.chn) and channel data files (.001/.002/...) are supported. All other files (videos, photos, txt-files) will be ignored when reading and writing.
- Writing methods do not ask before overwriting. In particular,
setandconvertrewrite every supplied ISO-MME container in place after validating all inputs and selections.
Metadata
Release files for pyisomme 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyisomme-1.1.0.tar.gz | 613.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyisomme-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 895.3 kB
Release files / pyisomme-1.1.0.tar.gz
| Download URL | pyisomme-1.1.0.tar.gz |
|---|---|
| Size | 613.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
100c80b1ab2b050ccb53f6aa43f4dba9d40c00233075ecb177e41e2b03d4c35d
|
|
BLAKE2b-256 checksum How to use checksums |
fe97103d87c42aef8bfb8efe8bf59ed1179b303c240e42785ba00b3933e89b47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pyisomme-1.1.0-py3-none-any.whl
| Download URL | pyisomme-1.1.0-py3-none-any.whl |
|---|---|
| Size | 282.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ae978346cd7ef7c95c71bc5bf7f149a2878e2b13db23221afb0c5f763652ae4
|
|
BLAKE2b-256 checksum How to use checksums |
0d9af199bf20b0b3d5f30581ff8d79909a8c4547e01a0a36fd44039e4835dc5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|