Skip to main content

Library and tool for handling ETF files.

Project description

ETFScan

ETFScan is a Python package for handling and manipulating ETF files, including the ability to convert Nexus files into ETF format and to concatenate scans.

Features

  • Convert Nexus files to ETF using the create_etf script.
  • Concatenate ETF scans or their subparts using the functionality in etfscan.etf.

Installation

To create a virtual environment and install the package, follow these steps:

  1. Create a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
    
  2. To install the package, run:

pip install .

Usage

Convert Nexus to ETF

To produce an ETF directory, use the create_etf command. From bliss files:

create_etf --bliss_file   /data/visitor/md1290/bm18/20231102/RAW_DATA/2.195um_SH1_ROIs/HA2000_2.195um_SH1_ROI-05_nose-turbin_0000/HA2000_2.195um_SH1_ROI-05_nose-turbin_0000_0001/HA2000_2.195um_SH1_ROI-05_nose-turbin_0000_0001.h5  --target_name test

or from nexus :

create_etf --nexus_file   /some/directory/HA2000_2.195um_SH1_ROI-05_nose-turbin_0000_0001.nx --target_name test2

Example: Concatenating ETF scans

An example of how to concatenate ETF scans using the library can be found in the etf.py module. We use the class ETFFile which manipulate etf elements ( projections.h5, flats.h5`, .. etceter). Here's a simplified example:

from etfscan import ETFFile

# Load two ETF files
etf1 = ETFFile('test.etf/projections.h5')
etf2 = ETFFile('test2.etf/projections.h5')


# Concatenate them
combined_etf = ETFFile.join(etf1, etf2)

# Save the result
ETFFile.save(combined_etf, 'combined_output')

Script Options for create_etf.py

The following options are available for the nx2etf.py script:

--bliss_file (optional)
    Description: A BLISS master file. One and only one of --bliss_file, --nexus_file, or --etf_projections_dir must be provided.
    Type: String (str)

--nexus_file (optional)
    Description: A Nexus file produced by NX Tomomill. One and only one of --bliss_file, --nexus_file, or --etf_projections_dir must be provided.
    Type: String (str)

--etf_projections_dir (optional)
    Description: The projections will be taken from the projections.h5 file inside this directory. Must be inside an ETF directory. One and only one of --bliss_file, --nexus_file, or --etf_projections_dir must be provided.
    Type: String (str)

--darks_flats_dir (optional)
    Description: A directory containing a Nexus file produced by NX Tomomill. This directory will be searched to associate darks/flats with the Nexus file if --nexus_file is provided.
    Type: String (str)

--etf_dark_dir (optional)
    Description: The darks will be taken from the dark.h5 file inside this directory. Must be inside an ETF directory.
    Type: String (str)

--etf_flats_dir (optional)
    Description: The flats will be taken from the flats.h5 file inside this directory. Must be inside an ETF directory.
    Type: String (str)

--entry_name (optional)
    Description: The entry name to use (default: entry0000).
    Type: String (str)

--target_dir (optional)
    Description: The path where the resulting ETF will be written. Defaults to the current working directory.
    Type: String (str)

--target_name (optional, required if --etf_projections_dir is used)
    Description: The name for the output ETF file. Defaults to the Nexus or BLISS filename if provided. Mandatory if --etf_projections_dir is used.
    Type: String (str)

--median_dark (flag)
    Description: Use the median instead of the average for darks. Only applies if the darks come from Nexus.
    Type: Flag (no value required)

--median_flat (flag)
    Description: Use the median instead of the average for flats. Only applies if the flats come from Nexus.
    Type: Flag (no value required)

--double_flats_file (optional)
    Description: The double flats file.
    Type: String (str)

--diffusion_correction_file (optional)
    Description: The diffusion correction file.
    Type: String (str)

--distortion_correction_file (optional)
    Description: The detector real positions map.
    Type: String (str)

--weight_map_file (optional)
    Description: The weight map file.
    Type: String (str)

For further details, check the source code in module etfscan.

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

etfscan-24.9.30.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

etfscan-24.9.30-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file etfscan-24.9.30.tar.gz.

File metadata

  • Download URL: etfscan-24.9.30.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for etfscan-24.9.30.tar.gz
Algorithm Hash digest
SHA256 36b0883c116ee3c56021014198f0c6a2627cc365523ded491c59cc679f6e1a2e
MD5 dc089823ee36667d16cb83a492cefee2
BLAKE2b-256 0eb748926d66d41050fad196fd64b885659afa461baa766669636e9ad6757fd7

See more details on using hashes here.

File details

Details for the file etfscan-24.9.30-py3-none-any.whl.

File metadata

  • Download URL: etfscan-24.9.30-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for etfscan-24.9.30-py3-none-any.whl
Algorithm Hash digest
SHA256 5413ab7b3932451755222063c5710ccdb18dc18c2f67c27c3a7c4c9259871ef7
MD5 50c5e6c4a365fa481782d44a1407b23a
BLAKE2b-256 94e5c1d2d608679338e83fc4c8a9de1e6f2ccb63109dde1f16d61a2a5522dae5

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