WVgreens,// wave vectors (same units as the pixels array)
WVgreens,// wave vectors (same units as the pixels array)
patternDetectParameters.corrRingWidth,// ring (around r=0.5 dist to opposite corr) width
// patternDetectParameters.corrRingWidth, // ring (around r=0.5 dist to opposite corr) width
0.1,// contrastSelectSigma
0.5,// contrastAverageSigma
0.0,// x0, // center coordinates
0.0,// x0, // center coordinates
0.0,//y0,
0.0,//y0,
title);// title base for optional plots names
title);// title base for optional plots names
...
@@ -18951,10 +18961,10 @@ use the result to create a rejectiobn mask - if the energy was high, (multiplica
...
@@ -18951,10 +18961,10 @@ use the result to create a rejectiobn mask - if the energy was high, (multiplica
gd.addNumericField("Minimal pattern correlation contrast",patternDetectParameters.minCorrContrast,3);//5.0; // Discrimination threshold between good and bad pattern correleation
gd.addNumericField("Minimal pattern correlation contrast",patternDetectParameters.minCorrContrast,3);//5.0; // Discrimination threshold between good and bad pattern correleation
gd.addNumericField("Minimal pattern grid period (<=0.0 - do not check)",patternDetectParameters.minGridPeriod,2,5,"pix");
gd.addNumericField("Minimal pattern grid period (<=0.0 - do not check)",patternDetectParameters.minGridPeriod,2,5,"pix");
gd.addNumericField("Maximal pattern grid period (<=0.0 - do not check)",patternDetectParameters.maxGridPeriod,2,5,"pix");
gd.addNumericField("Maximal pattern grid period (<=0.0 - do not check)",patternDetectParameters.maxGridPeriod,2,5,"pix");
gd.addMessage("----- debug -----");
gd.addNumericField("Debug grid near pixel X",patternDetectParameters.debugX,1,6,"pix");
// 0.0, // minGridPeriod
gd.addNumericField("Debug grid near pixel X",patternDetectParameters.debugY,1,6,"pix");
// 0.0 // maxGridPeriod
gd.addNumericField("Debug grid nodes at this distance of (x,Y) - <0 - no debug",patternDetectParameters.debugRadius,1,5,"pix");
gd.showDialog();
gd.showDialog();
if(gd.wasCanceled())returnfalse;
if(gd.wasCanceled())returnfalse;
...
@@ -18971,6 +18981,9 @@ use the result to create a rejectiobn mask - if the energy was high, (multiplica
...
@@ -18971,6 +18981,9 @@ use the result to create a rejectiobn mask - if the energy was high, (multiplica
gd.addNumericField("Correlation minimal contrast for initial search:",distortionParameters.correlationMinInitialContrast,3);
gd.addNumericField("Correlation minimal contrast for initial search:",distortionParameters.correlationMinInitialContrast,3);
gd.addNumericField("Decrease contrast of cells that are too close to the border to be processed in rifinement pass",distortionParameters.scaleFirstPassContrast,3);
gd.addNumericField("Gaussian sigma to select correlation centers (fraction of UV period), 0.1",distortionParameters.contrastSelectSigma,3);
gd.addNumericField("Gaussian sigma to average correlation variations (as contrast reference), 0.5",distortionParameters.contrastAverageSigma,3);
@@ -3201,6 +3250,9 @@ public class MatchSimulatedPattern {
...
@@ -3201,6 +3250,9 @@ public class MatchSimulatedPattern {
finalAtomicBooleancleanup=newAtomicBoolean(false);// after the wave dies, it will be restored for all cells with defined neigbors to try again. maybe - try w/o therads?
finalAtomicBooleancleanup=newAtomicBoolean(false);// after the wave dies, it will be restored for all cells with defined neigbors to try again. maybe - try w/o therads?
finalAtomicIntegerdebugCellSet=newAtomicInteger(0);// cells added at cleanup stage
finalAtomicIntegerdebugCellSet=newAtomicInteger(0);// cells added at cleanup stage
// special case (most common, actually) when initial wave has 1 node. Remove it after processing
elsehasNeededNeighbor=focusMask[iy*getImageWidth()+ix];//* OOB -1624 java.lang.ArrayIndexOutOfBoundsException: -1624, at MatchSimulatedPattern.distortions(MatchSimulatedPattern.java:3063), at LensAdjustment.updateFocusGrid(LensAdjustment.java:121), at Aberration_Calibration.measurePSFMetrics(Aberration_Calibration.java:5994)
elsehasNeededNeighbor=focusMask[iy*getImageWidth()+ix];//* OOB -1624 java.lang.ArrayIndexOutOfBoundsException: -1624, at MatchSimulatedPattern.distortions(MatchSimulatedPattern.java:3063), at LensAdjustment.updateFocusGrid(LensAdjustment.java:121), at Aberration_Calibration.measurePSFMetrics(Aberration_Calibration.java:5994)
this.scaleMinimalInitialContrast=scaleMinimalInitialContrast;// increase/decrease minimal contrast if initial cluster is >0 but less than minimalPatternCluster
this.scaleMinimalInitialContrast=scaleMinimalInitialContrast;// increase/decrease minimal contrast if initial cluster is >0 but less than minimalPatternCluster
this.searchOverlap=searchOverlap;// when searching for grid, step this amount of the FFTSize
this.searchOverlap=searchOverlap;// when searching for grid, step this amount of the FFTSize