Skip to main content

Package to create, load, edit, and save files following the NXtomo application definition.

Project description

nxtomo

The goal of the nxtomo project is to provide a powerful and user-friendly API to create, edit or read NXtomo application definition files.

pip install nxtomo

Add the optional extras when you need documentation or development tooling:

pip install nxtomo[doc,test]

Quick Start

Create a minimal NXtomo scan, populate detector data, and save it to disk:

import numpy as np
from pint import get_application_registry

from nxtomo.application.nxtomo import NXtomo
from nxtomo.nxobject.nxdetector import ImageKey

ureg = get_application_registry()

nx = NXtomo()
nx.title = "Demo scan"
nx.instrument.beam.incident_energy = 18 * ureg.keV

n_frames = 180
nx.instrument.detector.data = np.random.rand(n_frames, 64, 64).astype(np.float32)
nx.instrument.detector.image_key_control = np.full
    n_frames, ImageKey.PROJECTION.value, dtype=np.uint8
)
nx.sample.rotation_angle = np.linspace(0.0, 180.0, n_frames, endpoint=False) * ureg.degree

output_file = "demo_scan.nx"
nx.save(output_file, data_path="/entry0000")

loaded = NXtomo().load(output_file, data_path="/entry0000")
print(f"Energy: {loaded.energy}, Rotation angles: {loaded.sample.rotation_angle}")

Explore additional workflows in the tutorials, such as splitting large acquisitions or working with TIFF backends.

Documentation and Support

Contributing

Contributions and feedback are welcome. Please open an issue or submit a merge request on GitLab. See the development guide in doc/development for details on setting up a local environment and running the test suite.

License

nxtomo is released under the MIT License. See LICENSE for the full text.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

nxtomo-3.1.0.dev0.tar.gz (76.3 kB view details)

Uploaded Source

Built Distribution

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

nxtomo-3.1.0.dev0-py3-none-any.whl (92.3 kB view details)

Uploaded Python 3

File details

Details for the file nxtomo-3.1.0.dev0.tar.gz.

File metadata

  • Download URL: nxtomo-3.1.0.dev0.tar.gz
  • Upload date:
  • Size: 76.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for nxtomo-3.1.0.dev0.tar.gz
Algorithm Hash digest
SHA256 acb222c1b492891eaa9d04afec3698a09780e3099ff105df9afd6e7edb3e6d41
MD5 c690faa0a9e45256d733ef9c20159733
BLAKE2b-256 08071e77151b178c846ddef9e30122829a194af5f524318b55bd9ba60ac86c6d

See more details on using hashes here.

File details

Details for the file nxtomo-3.1.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: nxtomo-3.1.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 92.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for nxtomo-3.1.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f995aca9b02ebf46d127e8098047d8a44f45fd4428ee9805cde5af631214894
MD5 70f012fed81139a6852ed3c3f141ce85
BLAKE2b-256 a92b4530541d7ef019750d5f3be5056c034bfe848fe50a592bfd5e1d0a7b5078

See more details on using hashes here.

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