Skip to content

Releases: USNavalResearchLaboratory/PyEBSDIndex

PyEBSDIndex v0.3.9.1

27 Jan 15:25
0099e60

Choose a tag to compare

Added

  • Now have the ability to save an indexer object to an HDF5 file using
    the ebsd_index.indexer.saveindexer(filename='indexer.pyindx') method. It can similarly be
    restored using the indexer_obj = ebsd_index.restoreindexer(filename='indexer.pyindx') function.
    This should be considered a beta-level capability, as there might be situations that yield incompatible
    values for HDF5 and variable that are defined as None.

  • Some preliminary support for DM5 files for use in the NLPAR algorithm.

Changed

  • The band indexing steps in the triplevote module are now mostly multi-threaded using Numba.
    This causes a long delay on the first index process, but should be much faster overall, espeically when
    indexing using a single process mode (non-distributed).

  • Rebalanced the default number of processes used when using the distributed (aka multi-process) indexing,
    given that the band indexing is now multi-threaded.

  • NLPAR now always breaks a scan into blocks of patterns, rather than defaulting to always using a full
    row of patterns. This was always the case for the GPU version of NLPAR, but now also works for the CPU version,
    and hopefully prevents memory issues for larger scans on machines with lower RAM totals.

  • the EBSDImage.IPFcolor and EBSDImage.scalarimage now use the keywords ncols and nrows to
    keep some consistency with the rest of the package. xsize and ysize will still be respected for backwards
    compatibility, but at some point in the future will be depreciated.

Fixed

  • openCL should now stop spewing warning messages about reuse of programming objects.

PyEBSDIndex v0.3.8

01 Apr 18:51
7d55fb5

Choose a tag to compare

Added

  • Ability to add micron bars to IPF and scalar values maps. Use the addmicronbar keyword
    to makeipf and scalarimage functions.
  • When using ebsd_index function, if the machine has multiple GPUs, the desired GPU
    can be chosen using the gpu_id keyword.
  • When making IPF maps, a grayscale mix can be added using graychannel keyword.
  • New pattern quality parameter, iq which is the mean intensity of the convolved peaks
    divided by the mean intensity of the radon. Typical values are 1.8--2.0
  • Initial support for Thermo-Fisher .pat files.

Changed

  • Minimum official support is now python 3.9
  • pyebsdinex[parallel] now uses a minimum Ray v2.9
  • oh5 files are currently written with OIM 8.6.
    OIM 9.1 oh5 files can be specified using version=9.1
  • The fit value now is the unweighted mean angular deviation. Previously this was
    the weighted eigen value from the QUEST algorithm.
  • Automatic CPU scheduling is changed for distributed indexing, avoiding spinning up many
    processes on large workstations.

Fixed

  • ebsd_index_distributed should have better scheduling for multiple NVIDIA GPUs.
  • Removed warnings around OpenCL builds
  • Removed warnings with ray distributed NLPAR and indexing.

PyEBSDIndex v0.3.7

16 Oct 19:10
58e5127

Choose a tag to compare

  • Added a very hacky fix to NLPAR not working consistently on Apple-Si chips.
    For reasons I do not understand, the OpenCL routine would return without executing the NLPAR
    processing, returning patterns filled with zeros. This attempts to detect such behavior, and will
    resubmit the job. It will attempt to run the job three times, and then it will just return the zero patterns.
    This appears to be only an issue with the Apple Mx chips/architecture.

PyEBSDIndex v0.3.6

09 Aug 20:15
5c58652

Choose a tag to compare

Fixed

  • Fixed issue with newer versions of Ray and NVIDIA cards (maybe exclusively on Linux).

Changed

  • Small adjustment on peak fitting suggested by W. Lenthe to put better limits on the peak fit.
    Maybe especially useful for fitting noisy peaks.

PyEBSDIndex v0.3.5

28 Jun 22:09
d39e7eb

Choose a tag to compare

Another bugfix release:

  • Further tweaking of NLPAR GPU memory limits for Apple-ARM.
  • Many small type fixes for numpy 2.0 compatibillty.
  • Corrected GPU detection for distributed indexing.
  • Fixed issue where slower machines would erroneously detect a GPU timeout.

PyEBSDIndex v0.3.4

07 Jun 22:31
93ee812

Choose a tag to compare

Fixed

  • This time I think that edge case for NLPAR chunking of scans is really fixed.
  • Wrote on a chalkboard 100 times, "I will run ALL the unit tests before release."

PyEBSDIndex v0.3.3

07 Jun 17:29
5d84da3

Choose a tag to compare

Another bug fix release:

  • Fixed edge case for NLPAR chunking of scans that would lead to a crash.
  • Fixed issue where PyEBSDIndex would not use all GPUs by default.
  • IPFColor.makeipf() will now automatically read the number of columns/rows in the scan from the file defined in the indexer object. Using array-like inputs with the indexer will still require setting the xsize keyword.

PyEBSDIndex v0.3.1

24 May 18:48
8c09e6b

Choose a tag to compare

Patch release that fixes issue when multiple OpenCL platforms are detected. Will default to discrete GPUs, with whatever platform has the most discrete GPUs attached. Otherwise, will fall back to integrated graphics.

PyEBSDIndex 0.3.0

23 May 21:09
df708a0

Choose a tag to compare

Added

  • NLPAR should now use GPU if pyopencl is installed, and a GPU is found. Expect 2-10x improvement in speed.
  • Faster band indexing. Should lead to increased pattern indexing speed.

Changed

  • PyEBSDIndex will now automatically select discrete GPUs if both integrated and discrete GPUs are found. If no discrete GPUs are found, it will use the integrated GPU.
  • Numba will now cache in the directory ~/.pyebsdindex/ This might help with less recompilinging after restarts.

Removed

  • Removed band_vote modual as that is now wrapped into triplevote.

Fixed

  • small bug fixes.

PyEBSDIndex v0.2.1

31 Jan 21:11
0036e90

Choose a tag to compare

Patch release to fix the reading of HDF5 files (especially Bruker) and writing oh5 output files.