7.4.1

This is the 7.4.1 release. Below are listed the bug fixes and feature additions that have gone into this release.

Known Issues

  • Synthetic Building Filters are not yet implemented

  • Long visualization operations can lock up the GUI. Please be patient for those operations to end.

  • Compute Feature Centroids will not respect periodic boundaries in a model

  • The Anaconda version will not save your GUI window layout correctly. The workaround is to create a layout to your liking and save it as a preset.

  • Computing Volumes from Triangle Features will not work correctly unless all triangle normals are consistent and the surface mesh is watertight.

Feature & Bug Fixes of Note

  • 5 new filters: Hierarchical Smooth, Compute Grouping Density, Extract Feature Boundaries 2D, Create Vertex Geometry from Orientations, Write LAMMPS file

  • Initial volume rendering is substantially faster now with larger data sets (>10GB)

  • Over 100 bug fixes and feature enhancements

  • Double click on Text or Caption Annotations to edit

  • Match ParaView when right-click zoom in/out

  • All new 2D Plotting library with substantial speed increase

  • Auto-select single visible geometry when switching active visualization view

  • New Interactive Orientation Marker

  • Active Array in Visualization module can now show a mini-histogram

  • Image annotations can now be flipped horizontally and vertically

  • Add automatic decimation for all vis data views

  • PERF: InterpolatePointCloudToRegularGrid now calculates stats on-the-fly

  • ReadZeissTxmFile - Add the ability to crop the incoming geometry.

Fixed Issues

In the below tables are summarized git logs from the commits since the last release. Each line should have a short code at the start of the line indicate a general area that the commit falls under. Also include is the Github Pull Request (PR) number. These can be fully reviewed at:

https://www.github.com/bluequartzsoftware/simplnx

https://www.github.com/bluequartzsoftware/DREAM3DNX

DREAM3D-NX

  • ENH: Double click on Text or Caption Annotations to edit (#1083) (56bdbd2c)

  • ENH: Match ParaView when right-click zoom in/out (#1081) (7555e3d2)

  • COMP: Fix compiler warnings for QVariant (#1082) (c2d72326)

  • BUG: Only copy VTK & Qt libs if required. (551ec283)

  • DOC: Add Doxygen comments and convert C-style arrays across DREAM3D-NX (#1068) (d5bbe77a)

  • BUG: Fix NXDataStructureModel and NXTableModel that break Qt API contracts (#1077) (efb61347)

  • BUG: Spreadsheet column auto size fixes (#1079) (1aa0cd27)

  • ENH: Migrate 2D charting from VTK to McPlotty (#1059) (8ed11a21)

  • ENH: Replace QSplitter view layout with M×N grid engine (VXViewGridWidget) (#1073) (1ed21d2a)

  • BUG: Fix ‘remove selected columns’ feature in spreadsheet module (#1078) (587e7d03)

  • BUG: Fix QSplitter based sizing bugs (#1075) (6548907e)

  • ENH: Per-geometry default 3D data view in Visualization Preferences (#1069) (4877cdba)

  • ENH: Add keyboard shortcuts to the Window Layout quick-access menu (#1072) (5755e3b1)

  • ENH: Move the Qt dependent MemoryStats parts down to simplnx. (#1074) (5e9bbdb9)

  • ENH: Auto-select single visible geometry when switching active visualization view (#1071) (2eb31217)

  • BUG: Fixes unexpected behavior in the user interface (#1061) (86d1ba7d)

  • BUG: Add null check for unregistered parameter types in NXFilter::setupPipelineFilter (#1060) (00d048d1)

  • ENH/BUG: Charting module bug fixes & enhancements (#1057) (fd327669)

  • UX: Apply Human Interface Guidelines to all QDialog .ui files (#1055) (5f267262)

  • BUG: Fix m_XAxisHasDoubles not set during charting loadState (#1058) (f893480d)

  • BUG: Fix image resample filter producing blurred output (#1051) (b4a7b538)

  • BUG: Update to use QDialog directly instead of the convenience functions (#1054) (86f0ce3a)

  • ENH: New Interactive Orientation Marker (#1048) (086d48ff)

  • ENH: Remove the buttons from the status area in the main DREAM3D-NX UI. (#1050) (6fbadf69)

  • BUG: Add null checks for QPointer in Charting & Spreadsheet modules during saveState (#1052) (b2426d1c)

  • BUG: Ensure the volume view has at least 1 render to make the opengl context active (9352c207)

  • ENH: Add option to only show 2D CropGeometryParameter controls (#1030) (1e7dc096)

  • ENH: Optimize the code paths to first render when Volume Rendering (#1047) (d2441bdc)

  • ENH: Ellipse Glyph Options (#1026) (5221fc31)

  • ENH: Visualization preset options (#1042) (e00fd484)

  • BUG: Out-of-Core Messaging bug fixes other small fixes (#1044) (935a1b49)

  • ENH/BUG: Spreadsheet data size checks and updates (#1038) (ba4e8b08)

  • ENH: orientation marker widget updates (#1035) (97d91210)

  • ENH: Add frames per second status update message for developer builds (#1036) (ce9f4d18)

  • BUG: Update 2D Image/Slice View to calculate histogram for each individual slice (#1037) (80081ada)

  • BUG: Fixes memory leak in VXMultidimSpreadsheetModel (#1034) (c5deaff2)

  • ENH: Add an option for array histogram generation in the visualization properties (#1033) (79f5e5ac)

  • BUG: Fix issue where the generated Build Plate grid did not match reality (#1029) (a7df00b5)

  • ENH: Adjust various UI elements and dialogs. Fix nullptr exceptions (#1028) (53ea5fad)

  • ENH: DataStructure Treeview Help Text Updates for Charting and Spreadsheet (#1027) (13852f17)

  • ENH: Various enhancements and bug fixes based on user feedback. (#1019) (8996d838)

  • BUG: Fix visualization data size limit default value (#1025) (692d348b)

  • BUG: Fix active array histogram when arrays only have one value (#1024) (6d31dd55)

  • ENH: Visualization Active Array Histogram (#1013) (686c1b5a)

  • ENH: Customizable Global Grid Axes (#1017) (4290984b)

  • CI: Update build bots to Qt 6.9 and Vtk 9.5 (#1023) (90bef8a0)

  • BUG: Fix filter parameter and DataStructure tree view splitter sizing (#1021) (dcd847f6)

  • BUG: Fix reloading when visualizing multi component array (#1020) (c72c25ea)

  • ENH: Add data structure size limit warnings for visualization & option to save to file (#1011) (c15a8cd3)

  • ENH: Glyph Data View and Annotation (#1006) (b6c40add)

  • BUG: Add missing normal values to state and settings file I/O (#1016) (66f987fb)

  • BUG: Fix build plate annotation origin/center inputs to translate after rotating (#1015) (af4f6961)

  • BUG: Fix shadowing of variables and not using override when needed. (#1003) (0add9e6b)

  • BUG: Update checkable button using non-checkable icon (#1014) (c489b928)

  • ENH: Image annotations can now be flipped horizontally and vertically (#1010) (7239161c)

  • MISC: Fix cmake warnings and fix conda builds on Linux/MacOS (#1012) (f26654ae)

  • PY: Update EbsdLib required version for conda builds (8bdce49e)

  • ENH: Image Geometry resample filter (#1004) (0d5d77e8)

  • DOC: Documentation updates to the user manual (#1007) (41667398)

  • API: Update to latest EbsdLib updates. (#1008) (53c2acb9)

  • ENH: Add automatic decimation for all vis data views (lod clin 10) (#971) (7c6862f1)

  • ENH: spreadsheet v2 (#998) (73a575a4)

  • ENH: 2D Charting Default sizes and precision adjustments (#1002) (1b3280a3)

  • ENH: Link 2D Image/Slice View Slice Number Settings between views (#990) (fbec7126)

  • BUG: Add accept/reject buttons to NXCropGeometryWidget. (#1005) (657b8f75)

  • BUG: Fix disabled state icon when filter is disabled (#1001) (827e72ff)

SIMPLNX

  • BUG: Fix parameter linking in WritePoleFigure Filter (c54635dcb)

  • COMP: Use C++20 std::numbers for value of Pi (#1558) (f7d4f6ffe)

  • DOC: Fix filter documentation and documentation related code bugs (#1547) (c7dacfd5c)

  • BUG: Fix two bugs in IdentifySampleSliceBySliceFunctor (#1562) (42bc9ba6e)

  • ENH: Again require in-memory data for ITK filters (#1555) (cefee380f)

  • ENH: Algorithm dispatch for Out-of-Core filter optimizations (#1545) (43695ade5)

  • ENH: Add GetSystemMemoryInfo() to MemoryUtilities (#1556) (32c987336)

  • FILT: Add the HierarchicalSmooth triangle mesh smoothing algorithm (#1551) (f080ee622)

  • PERF: InterpolatePointCloudToRegularGrid now calculates stats on-the-fly (#1549) (021a4f7bf)

  • BUG: Fix memory leak in ITKImageReader (#1550) (575eba636)

  • ENH: Move Filter executeImpl() logic to Algorithm classes (#1544) (8381d1dd5)

  • FILT: Compute Grouping Density filter added. (#1548) (30c9b1090)

  • DOC: Update doxygen comments in all simplnx library classes. (#1520) (9eec765b9)

  • DOC: Update pipeline references in each of the documentation files (#1543) (616fd40c8)

  • COMP: Combine Matrix3x1, Point3D, Vec3 into a Vec3 in Array.hpp (#1501) (4324d0f74)

  • ENH: RegularGridSampleSurfaceMesh algorithm updates for speed. (#1536) (a68b29a3d)

  • ENH: Resample Image Geometry uses much less memory at the cost of some computation time (#1529) (9057f4a8b)

  • REV/ENH: Compute Feature Sizes and Geometry Error Handling (#1540) (34c86ab4e)

  • ENH: Improve tar extraction robustness in TestFileSentinel (#1541) (c0712a59d)

  • COMP: Remove the dead JSON parsing code (#1539) (d3e0219b6)

  • ENH: Replace cmake subprocess tar.gz extraction with zlib in unit tests (#1538) (5e2835edd)

  • BUG: Missing DataModified actions were added to preflight method. (#1534) (483b63f31)

  • TEST: Test ParameterVersion() and clone() functions of each filter (#1531) (28a2e1d54)

  • ENH: IdentifySample -use algorithm class and add cancel and message feedback (#1530) (27f2dbaeb)

  • ENH: Remove redundant preflight checks that are already done in the parameter (#1535) (6cfbad116)

  • ENH: Add 2D cropping support and origin/spacing processing to ITK image readers (#1525) (751b4d9e9)

  • ENH: Check for cancel in ReadZeissTXMFile (#1526) (f07a357ad)

  • STY: Fixed filter tags to consistently use the full filter name (#1524) (88f639296)

  • BUG: Fix int32 overflow bug and code refactoring in Require Minimum Feature Size (#1522) (6444ac2c3)

  • ENH: Factor out the 6-face neighbor code that is systemic through out the code base. (#1523) (9bfcb01e4)

  • ENH: Fill Bad Data Out-of-Core Optimization (#1515) (e17f0d7dc)

  • BUG: Move unused algorithm codes to internal directory (#1521) (94bd6d445)

  • FILT: Extract Feature Boundaries 2D filter implemented (#1510) (6a72c8be3)

  • DOC: Organize the prebuilt pipelines to make it easier to find items (#1512) (820402dbe)

  • REV: Bad Data Neighbor Orientation Check (#1499) (ebdce592f)

  • BUG: Implement error handling for simplnx::Application class (#1516) (3f8947120)

  • BUG: Update use of progress feedback in OStreamUtilities (#1517) (ef068f582)

  • ENH: Add to/from string API to IArray (#1514) (403fc9a14)

  • DOC: Update documentation for various filters (#1513) (0c6ad28a1)

  • BUG FIX: Compute Euclidean Dist Map now does not create extra arrays. (#1506) (06ad1da7e)

  • ENH: CLAUDE.md file that contains code generation rules (#1518) (c7ce0eb5f)

  • ENH: Add unit test functions for comparing full datastructure (#1500) (ba7201fe3)

  • ENH: Changed Delete Original to in-place in ConvertDataFilter (#1509) (8049e23a1)

  • VERS: Update to EbsdLib 2.1.0 (#1507) (753f1ca4b)

  • Defaulting MultiThresholdObjects output array to uint8. (#1502) (49919b086)

  • BUG: Compute Feature Reference Misorientation algorithm bug fixes (#1504) (f7fec9819)

  • API: AttributeMatrix - Change getNumTuple to getNumberOfTuples (#1503) (ea4fafbad)

  • STY: Fix warnings about unintended slicing of object (#1490) (66f76c15f)

  • ENH: Add missing algorithm classes to some filters (#1301) (d2b300f21)

  • BUG: Fix SegmentFeatures progress messages to display proper percent complete (#1498) (8f903a3fa)

  • BUG: New implementation for ComputeNeighborhoods filter (#1485) (f34c38916)

  • ENH: Compute Array Statistics error messages and documentation updates (#1496) (24eb07695)

  • BUG: MergeTwins ‘Active’ array not initialized correctly plus other enhancements (#1497) (7131c4592)

  • BUG/ENH: Fix Backwards Pipeline Compatibility and Add Testing (#1476) (e45bca2a5)

  • ENH: Use a python script to generate the skeleton code for a new filter (#1492) (3fed74208)

  • STY: Use more distinct syntax to toggle clang-formatting for specific sections of code (#1491) (26f0cb257)

  • COMP: Update TimeUtilities::timestamp to use std::local_time() function (#1486) (0335e12c2)

  • ENH: ItkImageWriter allow user to set the number of padding digits and the fill char (#1489) (2af43ab06)

  • COMP: Fix MSVC template warnings (#1474) (c5c6d4289)

  • BUG: Fixes issue when imported data sets or groups have the same path. (#1480) (179d85cdd)

  • ENH: Update error messages from Dream3dIO.cpp by not overwriting lower errors (#1484) (a901a88a3)

  • BUG: Create EmptyNeighborListStores during preflight (#1483) (39f649518)

  • FILTER: Write LAMMPS File (#1479) (83ec02836)

  • BUG: Fixed an issue with ITK tiff reading on Windows conda builds (#1475) (c3b6a520e)

  • ENH: Isolate Largest Feature now checks for cancel button and sends progress (#1473) (5d22556fe)

  • ENH: Update to EbsdLib 2.0.0 API (#1472) (413e6fa46)

  • ENH: ReadZeissTxmFile - Add the ability to crop the incoming geometry. (#1471) (72debd95b)

  • BUG: Fixes issue when segmenting features with a +1 feature count (#1466) (3d1cc153a)

  • ENH: Enable compiler warnings/errors for python builds (#1470) (11a80e7ae)

  • BUG: When reading a legacy NeighborList, the incorrect group was passed to the reader (#1464) (ff9f167c2)

  • FILT: Create Vertex Geometry from Orientations (#1469) (dea4b3e93)

  • REV: ComputeFeatureNeighborCAxisMisalignment reviewed and updated (#1467) (963f8d64e)

  • ENH: ConvertOrientationsFilter uses an Algorithm Class. (#1468) (39f28cf1e)

  • VV: Read EDAX EBSD Data (.ang) (#1462) (2729ec1e0)

  • TEST: Update RotateSampleRefFrame unit test to also test 45 & 180 in all directions (#1465) (531893fbd)