Skip to content

Changelog

MicPy 0.4.2 Changelog

This minor release improves VTK and ParaView integration for MICRESS field data.

Expanded VTK data representation options

  • Replaced the previous point_data option in Field.as_vti() with the new data_mode parameter.
  • "cell" stores the original values as VTK CellData.
  • "point_average" converts cell values to PointData by averaging adjacent cells.
  • "point_direct" stores each field value directly as a VTK point value without averaging.
  • The previous point_data parameter remains available for backward compatibility but is now deprecated.

Improved ParaView reader

  • Added all three data modes to the MICRESS ParaView reader.
  • Users can select between CellData, averaged PointData, and direct PointData.
  • VTK array names are derived from the MICRESS file extension, making fields easier to identify in ParaView and PyVista.

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.
  • For a complete list of options, see the Reference.

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