5757#include < canvas_ity.hpp>
5858
5959#include < algorithm> // for std::max
60- #include < array>
6160#include < chrono>
6261#include < exception>
6362#include < iomanip>
@@ -944,21 +943,29 @@ ebsdlib::Rgb LaueOps::generateMisorientationColor(const QuatD& q, const QuatD& r
944943}
945944
946945// -----------------------------------------------------------------------------
947- std::array<float , 2 > LaueOps::adjustFigureOrigin (std::array<float , 2 > figureOrigin, int legendWidth, int legendHeight, const std::vector<float >& margins, float fontPtSize,
948- bool generateEntirePlane) const
946+ std::array<float , 2 > LaueOps::adjustFigureOrigin (
947+ std::array<float , 2 > figureOrigin,
948+ int legendWidth, int legendHeight,
949+ const std::vector<float >& margins, float fontPtSize,
950+ bool generateEntirePlane) const
949951{
950952 return figureOrigin;
951953}
952954
953955// -----------------------------------------------------------------------------
954- UInt8ArrayType::Pointer LaueOps::annotateIPFImage (UInt8ArrayType::Pointer triangleImage, int imageDim, int canvasDim, const std::string& title, bool generateEntirePlane) const
956+ UInt8ArrayType::Pointer LaueOps::annotateIPFImage (
957+ UInt8ArrayType::Pointer triangleImage,
958+ int imageDim,
959+ int canvasDim,
960+ const std::string& title,
961+ bool generateEntirePlane) const
955962{
956963 const float fontPtSize = static_cast <float >(canvasDim) / 24 .0f ;
957964 const std::vector<float > margins = {
958- fontPtSize * 3 , // Top
959- static_cast <float >(canvasDim / 7 .0f ), // Right
960- fontPtSize * 2 , // Bottom
961- static_cast <float >(canvasDim / 7 .0f ) // Left
965+ fontPtSize * 3 , // Top
966+ static_cast <float >(canvasDim / 7 .0f ), // Right
967+ fontPtSize * 2 , // Bottom
968+ static_cast <float >(canvasDim / 7 .0f ) // Left
962969 };
963970
964971 int legendHeight = canvasDim - static_cast <int >(margins[0 ]) - static_cast <int >(margins[2 ]);
@@ -1006,7 +1013,10 @@ UInt8ArrayType::Pointer LaueOps::annotateIPFImage(UInt8ArrayType::Pointer triang
10061013 context.fill ();
10071014
10081015 // Draw the triangle image onto the canvas
1009- context.draw_image (image->getPointer (0 ), imageDim, imageDim, imageDim * image->getNumberOfComponents (), figureOrigin[0 ], figureOrigin[1 ], static_cast <float >(legendWidth),
1016+ context.draw_image (image->getPointer (0 ), imageDim, imageDim,
1017+ imageDim * image->getNumberOfComponents (),
1018+ figureOrigin[0 ], figureOrigin[1 ],
1019+ static_cast <float >(legendWidth),
10101020 static_cast <float >(legendHeight));
10111021
10121022 // Draw title
@@ -1018,14 +1028,20 @@ UInt8ArrayType::Pointer LaueOps::annotateIPFImage(UInt8ArrayType::Pointer triang
10181028 drawIPFAnnotations (context, canvasDim, fontPtSize, margins, figureOrigin, figureCenter, generateEntirePlane);
10191029
10201030 // Extract rendered pixels and remove alpha channel
1021- ebsdlib::UInt8ArrayType::Pointer rgbaCanvasImage = ebsdlib::UInt8ArrayType::CreateArray (canvasDim * canvasDim, {4ULL }, " Annotated IPF" , true );
1031+ ebsdlib::UInt8ArrayType::Pointer rgbaCanvasImage = ebsdlib::UInt8ArrayType::CreateArray (
1032+ canvasDim * canvasDim, {4ULL }, " Annotated IPF" , true );
10221033 context.get_image_data (rgbaCanvasImage->getPointer (0 ), canvasDim, canvasDim, canvasDim * 4 , 0 , 0 );
10231034
10241035 return ebsdlib::RemoveAlphaChannel (rgbaCanvasImage.get ());
10251036}
10261037
10271038// -----------------------------------------------------------------------------
1028- UInt8ArrayType::Pointer LaueOps::drawColorBar (UInt8ArrayType::Pointer image, int canvasDim, int numColors, double minValue, double maxValue, bool isMRD) const
1039+ UInt8ArrayType::Pointer LaueOps::drawColorBar (
1040+ UInt8ArrayType::Pointer image,
1041+ int canvasDim,
1042+ int numColors,
1043+ double minValue, double maxValue,
1044+ bool isMRD) const
10291045{
10301046 const float fontPtSize = static_cast <float >(canvasDim) / 24 .0f ;
10311047
@@ -1048,7 +1064,10 @@ UInt8ArrayType::Pointer LaueOps::drawColorBar(UInt8ArrayType::Pointer image, int
10481064
10491065 canvas_ity::canvas context (canvasDim, canvasDim);
10501066 // Put the existing image onto the canvas
1051- context.draw_image (rgbaImage->getPointer (0 ), canvasDim, canvasDim, canvasDim * 4 , 0 .0f , 0 .0f , static_cast <float >(canvasDim), static_cast <float >(canvasDim));
1067+ context.draw_image (rgbaImage->getPointer (0 ), canvasDim, canvasDim,
1068+ canvasDim * 4 , 0 .0f , 0 .0f ,
1069+ static_cast <float >(canvasDim),
1070+ static_cast <float >(canvasDim));
10521071
10531072 // Color bar dimensions
10541073 const float barLeft = static_cast <float >(canvasDim) * 0 .80f ;
@@ -1118,7 +1137,9 @@ UInt8ArrayType::Pointer LaueOps::drawColorBar(UInt8ArrayType::Pointer image, int
11181137}
11191138
11201139// -----------------------------------------------------------------------------
1121- std::vector<UInt8ArrayType::Pointer> LaueOps::generateAnnotatedIPFDensity (InversePoleFigureConfiguration_t& config, std::pair<double , double >* outMinMax) const
1140+ std::vector<UInt8ArrayType::Pointer> LaueOps::generateAnnotatedIPFDensity (
1141+ InversePoleFigureConfiguration_t& config,
1142+ std::pair<double , double >* outMinMax) const
11221143{
11231144 // Validate square images
11241145 if (config.imageWidth != config.imageHeight )
@@ -1151,29 +1172,10 @@ std::vector<UInt8ArrayType::Pointer> LaueOps::generateAnnotatedIPFDensity(Invers
11511172 ebsdlib::FloatArrayType::Pointer dirs1 = InversePoleFigureUtilities::computeIPFDirections (*this , config.eulers , config.sampleDirections [1 ]);
11521173 ebsdlib::FloatArrayType::Pointer dirs2 = InversePoleFigureUtilities::computeIPFDirections (*this , config.eulers , config.sampleDirections [2 ]);
11531174
1154- // Step 2: Compute SST bounding box for zoomed density images
1155- // getIpfColorAngleLimits returns {etaMin, etaMax, chiMax(eta)} in radians.
1156- auto angleLimits = getIpfColorAngleLimits (0.0 );
1157- double etaMin = angleLimits[0 ];
1158- double etaMax = angleLimits[1 ];
1159-
1160- // Get chiMax at etaMax (gives the largest chiMax for cubic; same for others)
1161- auto angleLimitsAtMax = getIpfColorAngleLimits (etaMax);
1162- double chiMax = angleLimitsAtMax[2 ];
1163-
1164- // Also check chiMax at etaMin in case it's larger
1165- auto angleLimitsAtMin = getIpfColorAngleLimits (etaMin);
1166- if (angleLimitsAtMin[2 ] > chiMax)
1167- {
1168- chiMax = angleLimitsAtMin[2 ];
1169- }
1170-
1171- std::array<double , 4 > sstBBox = {etaMin, etaMax, 0.0 , chiMax};
1172-
1173- // Compute intensity images with SST-zoomed mapping
1174- ebsdlib::DoubleArrayType::Pointer intensity0 = InversePoleFigureUtilities::computeIPFIntensity (*this , dirs0.get (), imageDim, imageDim, config.lambertDim , config.normalizeMRD , &sstBBox);
1175- ebsdlib::DoubleArrayType::Pointer intensity1 = InversePoleFigureUtilities::computeIPFIntensity (*this , dirs1.get (), imageDim, imageDim, config.lambertDim , config.normalizeMRD , &sstBBox);
1176- ebsdlib::DoubleArrayType::Pointer intensity2 = InversePoleFigureUtilities::computeIPFIntensity (*this , dirs2.get (), imageDim, imageDim, config.lambertDim , config.normalizeMRD , &sstBBox);
1175+ // Step 2: Compute intensity images
1176+ ebsdlib::DoubleArrayType::Pointer intensity0 = InversePoleFigureUtilities::computeIPFIntensity (*this , dirs0.get (), imageDim, imageDim, config.lambertDim , config.normalizeMRD );
1177+ ebsdlib::DoubleArrayType::Pointer intensity1 = InversePoleFigureUtilities::computeIPFIntensity (*this , dirs1.get (), imageDim, imageDim, config.lambertDim , config.normalizeMRD );
1178+ ebsdlib::DoubleArrayType::Pointer intensity2 = InversePoleFigureUtilities::computeIPFIntensity (*this , dirs2.get (), imageDim, imageDim, config.lambertDim , config.normalizeMRD );
11771179
11781180 // Step 3: Find global min/max
11791181 double globalMax = std::numeric_limits<double >::lowest ();
0 commit comments