Skip to main content

Tool to read McStas NeXus data and export contained information

Project description

Contributor Covenant PyPI badge Anaconda-Server Badge License: BSD 3-Clause

McStasToX

About

Python package to read McStas data and export as python objects in different formats or as other files.

DISCLAIMER: This project is still at prototype stage

The current version of the code is supposed to be a starting point to figure out how such a package should be structured, especially with regards to the API for the user. The demo notebook shows how the package can be used.

Dependencies

The core package only depends on

  • h5py
  • numpy

The different export formats, such as scipp, should not be core dependencies but only used when exporting to that format.

To run the demo notebook one will need

  • Recent McStas through conda (>3.5.20)
  • mcstasscript
  • matplotlib
  • scipp
  • scippneutron
pip install mcstastox

Installation

Note that still an early version of the package is on pip, but the API is not stable yet.

python -m pip install mcstastox

Basic use

To for example export to scipp, one needs to specify which component is the source and which is the sample.

Then all monitors with pixel id's are loaded, this is purely supported by Monitor_nD with option strings such as:

square x bins=512 y bins=256, neutron pixel min=0 t, list all neutrons
square x bins=1024 y bins=512, neutron pixel min=131073 t, list all neutrons

The next pixel min should be large enough to accommodate all pixels of the previous monitors, so here above 512*256.

This data can then be loaded to a simple scipp object with:

import mcstastox
with mcstastox.Read(file_path) as loaded_data:
    scipp_data = loaded_data.export_scipp_simple(source_name="source", sample_name="sample_position")

This data can also be loaded to a scipp data group with:

import mcstastox
with mcstastox.Read(file_path) as loaded_data:
    scipp_data_group = loaded_data.export_scipp(source_name="source", sample_name="sample_position")

This takes less space and events are already grouped by pixel ids

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

mcstastox-0.0.12.tar.gz (43.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcstastox-0.0.12-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file mcstastox-0.0.12.tar.gz.

File metadata

  • Download URL: mcstastox-0.0.12.tar.gz
  • Upload date:
  • Size: 43.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcstastox-0.0.12.tar.gz
Algorithm Hash digest
SHA256 8ebf3023d06e4a762cfdf5d84925b23d5b8dd396e703fa40477ac205672bb074
MD5 7895d16a1f143e8d0fd96d52ef4dfb9d
BLAKE2b-256 cfb23a55993dd90bbaec165504c169a04004254240eef8e8ffaa8e49973d52ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcstastox-0.0.12.tar.gz:

Publisher: pypi.yml on mccode-dev/McStasToX

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcstastox-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: mcstastox-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcstastox-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 ad963f01378bb05a56b405fe471ef9bc637cf75326448f2549ae46e64d18d30e
MD5 669ec7c640409fb7d52336f6f9affe0a
BLAKE2b-256 1a848c38176f97ee333c5b0d3f003548718ee87abdac67d4a2d5c00183c872bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcstastox-0.0.12-py3-none-any.whl:

Publisher: pypi.yml on mccode-dev/McStasToX

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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