Skip to content

ENH: Add complete pole figure generation#42

Open
imikejackson wants to merge 5 commits intoBlueQuartzSoftware:developfrom
imikejackson:topic/complete_pole_figures
Open

ENH: Add complete pole figure generation#42
imikejackson wants to merge 5 commits intoBlueQuartzSoftware:developfrom
imikejackson:topic/complete_pole_figures

Conversation

@imikejackson
Copy link
Copy Markdown
Collaborator

Add utility to compose together 3 pole figures and optional legend into a single image.

imikejackson and others added 5 commits April 7, 2026 21:04
…ration

Introduces the PoleFigureCompositor class with all required types
(CompositePoleFigureConfiguration_t, CompositePoleFigureResult, LayoutMetrics,
PoleFigureLayoutType) and stub method bodies. Registers the new .h and .cpp in
SourceList.cmake so EbsdLib builds them automatically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Create PoleFigureCompositorTest.cpp with 4 test cases covering
  ConfigDefaults, Horizontal, Vertical, and Square layout metrics
- Add test file to Source/Test/CMakeLists.txt
- Implement computeLayoutMetrics in PoleFigureCompositor.cpp with
  font-measured xCharWidth for accurate subCanvasWidth, and correct
  page dimensions and figure origins for all three layout types

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… canvas composition

Fill in all remaining stub methods in PoleFigureCompositor: generatePoleFigures,
preprocessImages, flipAndMirror, convertColorOrder, drawPoleFigure, drawScalarBar,
drawInfoBlock, drawTitle, compositeToCanvas, and generateCompositeImage. Add fmt::fmt
link dependency to EbsdLib. Add 3 end-to-end tests covering horizontal/discrete/all
layout modes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ale propagation

- Use ebsdlib::constants::k_2PiF instead of inline 2*pi for arc drawing
- Match SIMPLNX ColorTable static_cast<float> pattern for float consistency
- Fix font accessor functions to not re-decode base64 on every call
- Propagate minScale/maxScale from LaueOps back through generateCompositeImage
- Change generateCompositeImage to take non-const config reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant