Skip to main content

midas-nf-process-images

Differentiable PyTorch port of NF_HEDM/src/ProcessImagesCombined.c for CPU, CUDA, and MPS.

Notebooks

Worked-example Jupyter notebooks live in notebooks/. They are not shipped with pip install — get them by cloning the MIDAS repository.

Pipeline

For one layer of a near-field HEDM scan:

  1. Load NrFilesPerLayer raw TIFF frames into a [N, Z, Y] tensor.
  2. Temporal median across frames → per-pixel background [Z, Y].
  3. Per-frame:
    • Subtract median + BlanketSubtraction, clamp at 0.
    • Spatial median (3x3 or 5x5).
    • LoG response at one or more scales.
    • Threshold and label connected components → integer spot labels (detached).
    • Sigmoid surrogate → continuous spot-probability map (autograd path).
  4. Accumulate spot pixels into a bit-packed SpotsInfo.bin mmap (drop-in compatible with FitOrientationOMP / simulateNF).

Phases 1, 2, and 3 (filtered, log_response, soft spot probability) are differentiable end-to-end. Connected components and the binary SpotsInfo.bin output are computed on detached tensors and do not participate in autograd.

Quickstart

from midas_nf_process_images import ProcessParams, ProcessImagesPipeline

params = ProcessParams.from_paramfile("ps.txt")
pipe = ProcessImagesPipeline(params, device="cuda")  # or "mps", "cpu"
spots = pipe.process_layer(layer_nr=1)
spots.write("/path/to/SpotsInfo.bin")

# Or all layers in one call:
spots = pipe.process_all(layers=range(1, params.n_distances + 1))

CLI

midas-nf-process-images <ParameterFile> <LayerNr> [--device cuda] [--dtype fp32] [--n-cpus 8]

Behaves like the C ProcessImagesCombined executable.

Backend selection

Same contract as midas-transforms:

  • Default device: cuda -> mps -> cpu.
  • Default dtype: float64 on CPU, float32 on CUDA/MPS.
  • Override with device= / dtype= kwargs, or env vars MIDAS_NF_PROCESS_IMAGES_DEVICE / MIDAS_NF_PROCESS_IMAGES_DTYPE.

Differentiability

The end-to-end pipeline produces three tensors:

  • filtered: median-subtracted, spatial-median-filtered image (autograd).
  • log_response: LoG convolution output (autograd).
  • spot_prob: soft, continuous spot-probability map via sigmoid(L / temperature) (autograd).

Plus one detached output:

  • labels: integer connected-component IDs from hard-thresholded LoG (no gradient).

Optimization through the discrete spot mask uses the soft spot_prob surrogate.

Download files

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

Source Distribution

midas_nf_preprocess-0.7.1.tar.gz (92.5 kB view details)

Uploaded Source

Built Distribution

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

midas_nf_preprocess-0.7.1-py3-none-any.whl (111.0 kB view details)

Uploaded Python 3

File details

Details for the file midas_nf_preprocess-0.7.1.tar.gz.

File metadata

  • Download URL: midas_nf_preprocess-0.7.1.tar.gz
  • Upload date:
  • Size: 92.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for midas_nf_preprocess-0.7.1.tar.gz
Algorithm Hash digest
SHA256 3e78b9970db6554b2f9fa589bbd628cadca0af780a46db6d19717a2a9d6ab17b
MD5 4f727bf4b19ddfd93972b3acc9a5c675
BLAKE2b-256 9be8a2a74fe22441a1ab7a7094caf0f087002178f54276f16a53f150e0ccc280

See more details on using hashes here.

Provenance

The following attestation bundles were made for midas_nf_preprocess-0.7.1.tar.gz:

Publisher: python-packages.yml on marinerhemant/MIDAS

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

File details

Details for the file midas_nf_preprocess-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for midas_nf_preprocess-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a641f49efc79865269831b9fac9e90c647223fa97e31a9e935be2cb5ed1dd25
MD5 ba003619811de299a66c8be697774327
BLAKE2b-256 56ea9d774fb8dba986838b6da047cdcf9896bbe1cb86b61f13c805fb08e07bec

See more details on using hashes here.

Provenance

The following attestation bundles were made for midas_nf_preprocess-0.7.1-py3-none-any.whl:

Publisher: python-packages.yml on marinerhemant/MIDAS

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

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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