Skip to content

Changelog

MicPy 0.4.1 Changelog

This minor release focuses on improving the usability and clarity of field visualizations.

Improved physical scaling in Field.plot()

  • Plots now correctly reflect the physical dimensions of the data instead of displaying raw cell indices.
  • The spacing stored in the underlying NumPy array is used to compute axis scaling.
  • By default, plots are shown in micrometers (µm).
  • A new length_unit parameter allows easy unit customization (e.g., "mm", "cm", "m").

Built-in scalebar for plots

  • Added a scalebar to Field.plot() for better visual interpretation of sizes.
  • Enabled by default and positioned in the lower right corner.
  • Automatically selects clean, human-friendly lengths (e.g., 1, 2, 5 × 10ⁿ).
  • Default width is 20% of the plot, with options available for customization.
  • Can be disabled via scalebar=False.

These changes aim to make MicPy plots more intuitive and publication-ready with minimal effort.

MicPy 0.4 Changelog

Performance Improvements

New decompression backend for MICRESS binary field data

  • Introduced a redesigned backend enabling parallel data reading.
  • Added persistent on-disk indexing for field data, allowing random-access indices to be reused across sessions.
  • Significantly improved load times and access performance for large datasets, especially in repeated or interactive workflows.

Improved robustness and maintainability

  • Index creation and management are now handled by a dedicated backend library1.
  • Reduced internal code complexity, improving overall stability and long-term maintainability.

Visualization and Data Exchange

Native VTK support

  • Added direct conversion of MICRESS field data (NumPy arrays) to VTK image data.
  • Supports both CellData and PointData representations.
  • Optional interpolation from cell-centered data to point-based values.
  • Enables straightforward export to VTI files and direct use with VTK-based Python tools such as PyVista.

Enhanced support for interactive Python workflows

  • Improved integration with Jupyter notebooks for 2D and 3D visualization and analysis.
  • Facilitates seamless data exchange between MicPy and modern visualization libraries.

ParaView Integration

New ParaView plugin based on MicPy

  • Allows direct loading of MICRESS binary field data into ParaView without intermediate conversion steps.
  • Leverages the new decompression and indexing backend for smooth, responsive interaction with large datasets.
  • Provides full access to ParaView’s filtering and data processing pipelines, with strong support for 3D visualization workflows.

  1. Maximilian Knespel and Holger Brunst, “Rapidgzip: Parallel Decompression and Seeking in Gzip Files Using Cache Prefetching,” in Proceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing (HPDC ’23) (New York: ACM, 2023), 295–307, https://doi.org/10.1145/3588195.3592992