@@ -270,7 +270,7 @@ public class Aberration_Calibration extends PlugInFrame implements ActionListene
...
@@ -270,7 +270,7 @@ public class Aberration_Calibration extends PlugInFrame implements ActionListene
1.0, // shiftToRadiusContrib; // Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
1.0, // shiftToRadiusContrib; // Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
2.0, // sharpBonusPower; // increase weight of the "sharp" kernels by dividing weight by radius to this power
2.0, // sharpBonusPower; // increase weight of the "sharp" kernels by dividing weight by radius to this power
0.1, // maxFracDiscardWorse=0.1; // discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
0.1, // maxFracDiscardWorse=0.1; // discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
0.5, // maxFracDiscardAll=0.5; // continue removing outlayers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
0.5, // maxFracDiscardAll=0.5; // continue removing outliers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
0.8, //, // internalBonus // cell having 8 around will "seem" twice better than having none (radiusDiff* twice higher)
0.8, //, // internalBonus // cell having 8 around will "seem" twice better than having none (radiusDiff* twice higher)
0.75, // validateThreshold - fraction of full PSF "energy"
0.75, // validateThreshold - fraction of full PSF "energy"
false, // validateShowEllipse - show ellipse parameters of partial PSF arrays
false, // validateShowEllipse - show ellipse parameters of partial PSF arrays
gd.addNumericField("Empty level gap between \"normal\" pixels and outlayers (after high-pass)", gapWidth2, 3 ,7, "");
gd.addNumericField("Empty level gap between \"normal\" pixels and outliers (after high-pass)", gapWidth2, 3 ,7, "");
gd.showDialog();
gd.showDialog();
...
@@ -10649,7 +10648,7 @@ if (MORE_BUTTONS) {
...
@@ -10649,7 +10648,7 @@ if (MORE_BUTTONS) {
tileClearSize,
tileClearSize,
tileMargins,
tileMargins,
cmask, // bitmask of color channels to process (9 - two greens)
cmask, // bitmask of color channels to process (9 - two greens)
numPasses, // number of passes to replace outlayers (will end if none was replaced)
numPasses, // number of passes to replace outliers (will end if none was replaced)
numInBase, // number of neighbors (of 8) to use as a base if they all agree
numInBase, // number of neighbors (of 8) to use as a base if they all agree
sigma, // for high-pass filtering
sigma, // for high-pass filtering
processNoReplace, // calculate differences even if no replacements were made
processNoReplace, // calculate differences even if no replacements were made
...
@@ -10731,7 +10730,7 @@ if (MORE_BUTTONS) {
...
@@ -10731,7 +10730,7 @@ if (MORE_BUTTONS) {
128, // tileClearSize,
128, // tileClearSize,
16, // tileMargins,
16, // tileMargins,
15, // cmask, // bitmask of color channels to process (9 - two greens)
15, // cmask, // bitmask of color channels to process (9 - two greens)
1000, // numPasses, // number of passes to replace outlayers (will end if none was replaced)
1000, // numPasses, // number of passes to replace outliers (will end if none was replaced)
5, // numInBase, // number of neighbors (of 8) to use as a base if they all agree
5, // numInBase, // number of neighbors (of 8) to use as a base if they all agree
1.5, // sigma, // for high-pass filtering
1.5, // sigma, // for high-pass filtering
true, // processNoReplace, // calculate differences even if no replacements were made
true, // processNoReplace, // calculate differences even if no replacements were made
...
@@ -20537,7 +20536,7 @@ use the result to create a rejectiobn mask - if the energy was high, (multiplica
...
@@ -20537,7 +20536,7 @@ use the result to create a rejectiobn mask - if the energy was high, (multiplica
gd.addNumericField("Increase weight of the \"sharp\" kernels by dividing weights by the radius to this power",multiFilePSF.sharpBonusPower,3); // 1.0; // Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
gd.addNumericField("Increase weight of the \"sharp\" kernels by dividing weights by the radius to this power",multiFilePSF.sharpBonusPower,3); // 1.0; // Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
gd.addNumericField("Discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)",100.0*multiFilePSF.maxFracDiscardWorse,1,5,"%"); // 0.1, discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
gd.addNumericField("Discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)",100.0*multiFilePSF.maxFracDiscardWorse,1,5,"%"); // 0.1, discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
gd.addNumericField("Continue removing outlayers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)",100.0*multiFilePSF.maxFracDiscardAll,1,5,"%"); // 0.5, continue removing outlayers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
gd.addNumericField("Continue removing outliers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)",100.0*multiFilePSF.maxFracDiscardAll,1,5,"%"); // 0.5, continue removing outliers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
gd.addNumericField("Cell having 8 around will have thresholds above twice higher than having none when this is set to 1.0, 0.0 - all same thresholds",multiFilePSF.internalBonus,3);
gd.addNumericField("Cell having 8 around will have thresholds above twice higher than having none when this is set to 1.0, 0.0 - all same thresholds",multiFilePSF.internalBonus,3);
@@ -1740,7 +1740,7 @@ public class EyesisAberrations {
...
@@ -1740,7 +1740,7 @@ public class EyesisAberrations {
// for each channel, each cell - compare radius calculated for neighbors (use masked weights) and the cell
// for each channel, each cell - compare radius calculated for neighbors (use masked weights) and the cell
// TODO: Filter out outlayers: Add bonus to cells surrounded by others?
// TODO: Filter out outliers: Add bonus to cells surrounded by others?
// double [][][][] c= new double[numResults][nChn][nFiles+1][kLength];
// double [][][][] c= new double[numResults][nChn][nFiles+1][kLength];
...
@@ -4466,7 +4466,7 @@ if (globalDebugLevel>2)globalDebugLevel=0; //***********************************
...
@@ -4466,7 +4466,7 @@ if (globalDebugLevel>2)globalDebugLevel=0; //***********************************
publicdoubleshiftToRadiusContrib=1.0;// Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
publicdoubleshiftToRadiusContrib=1.0;// Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
publicdoublesharpBonusPower=2.0;// increase weight of the "sharp" kernels by dividing weight by radius to this power
publicdoublesharpBonusPower=2.0;// increase weight of the "sharp" kernels by dividing weight by radius to this power
publicdoublemaxFracDiscardWorse=0.1;// discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
publicdoublemaxFracDiscardWorse=0.1;// discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
publicdoublemaxFracDiscardAll=0.5;// continue removing outlayers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
publicdoublemaxFracDiscardAll=0.5;// continue removing outliers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
publicdoubleinternalBonus=1.0;// cell having 8 around will "seem" twice better than having none (radiusDiff* twice higher)
publicdoubleinternalBonus=1.0;// cell having 8 around will "seem" twice better than having none (radiusDiff* twice higher)
publicdoublevalidateThreshold;// fraction of full PSF "energy"
publicdoublevalidateThreshold;// fraction of full PSF "energy"
publicbooleanvalidateShowEllipse;// show ellipse parameters of partial PSF arrays
publicbooleanvalidateShowEllipse;// show ellipse parameters of partial PSF arrays
...
@@ -4480,7 +4480,7 @@ if (globalDebugLevel>2)globalDebugLevel=0; //***********************************
...
@@ -4480,7 +4480,7 @@ if (globalDebugLevel>2)globalDebugLevel=0; //***********************************
doubleshiftToRadiusContrib,// Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
doubleshiftToRadiusContrib,// Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
doublesharpBonusPower,// increase weight of the "sharp" kernels by dividing weight by radius to this power
doublesharpBonusPower,// increase weight of the "sharp" kernels by dividing weight by radius to this power
doublemaxFracDiscardWorse,// discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
doublemaxFracDiscardWorse,// discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
doublemaxFracDiscardAll,// continue removing outlayers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
doublemaxFracDiscardAll,// continue removing outliers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
doubleinternalBonus,
doubleinternalBonus,
doublevalidateThreshold,
doublevalidateThreshold,
booleanvalidateShowEllipse,
booleanvalidateShowEllipse,
...
@@ -4494,7 +4494,7 @@ if (globalDebugLevel>2)globalDebugLevel=0; //***********************************
...
@@ -4494,7 +4494,7 @@ if (globalDebugLevel>2)globalDebugLevel=0; //***********************************
this.shiftToRadiusContrib=shiftToRadiusContrib;// Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
this.shiftToRadiusContrib=shiftToRadiusContrib;// Center shift (in pixels) addition to the difference relative to radius difference (in pixels)
this.sharpBonusPower=sharpBonusPower;// increase weight of the "sharp" kernels by dividing weight by radius to this power
this.sharpBonusPower=sharpBonusPower;// increase weight of the "sharp" kernels by dividing weight by radius to this power
this.maxFracDiscardWorse=maxFracDiscardWorse;// discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
this.maxFracDiscardWorse=maxFracDiscardWorse;// discard up to this fraction of samples that have larger radius (i.e. falling on the target seam that may only make PSF larger)
this.maxFracDiscardAll=maxFracDiscardAll;// continue removing outlayers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)
this.maxFracDiscardAll=maxFracDiscardAll;// continue removing outliers (combined radius and shift), removing not more that this fraction (including maxFracDiscardWorse)