v1.0.0-rc.36
This commit is contained in:
@@ -5,12 +5,12 @@
|
||||
#include "../common/PixelMask.h"
|
||||
|
||||
TEST_CASE("PixelMask_MaskModuleEdges","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1));
|
||||
DiffractionExperiment experiment(DetJF(4, 1));
|
||||
experiment.MaskModuleEdges(true).MaskChipEdges(false).Mode(DetectorMode::Raw);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
|
||||
auto mask_out = mask.GetMask(experiment);
|
||||
auto mask_out = mask.GetMaskRaw(experiment);
|
||||
|
||||
REQUIRE(mask_out.size() == experiment.GetModulesNum() * RAW_MODULE_SIZE);
|
||||
|
||||
@@ -23,14 +23,17 @@ TEST_CASE("PixelMask_MaskModuleEdges","[PixelMask]") {
|
||||
CHECK(mask_out[1024*512*3+123] == (1u<<30));
|
||||
CHECK(mask_out[1024*512*3+1024] == (1u<<30));
|
||||
CHECK(mask_out[1024*800+256] == 0);
|
||||
|
||||
CHECK(mask.GetMask()[0] == (1u<<30));
|
||||
CHECK(mask.GetMask()[1022] == (1u<<30));
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_MaskChipEdges","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1));
|
||||
DiffractionExperiment experiment(DetJF(4,1));
|
||||
experiment.MaskChipEdges(true).MaskModuleEdges(false).Mode(DetectorMode::Raw);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
auto mask_out = mask.GetMask(experiment);
|
||||
auto mask_out = mask.GetMaskRaw(experiment);
|
||||
REQUIRE(mask_out.size() == experiment.GetModulesNum() * RAW_MODULE_SIZE);
|
||||
|
||||
CHECK(mask_out[255] == (1u<<31));
|
||||
@@ -52,7 +55,7 @@ TEST_CASE("PixelMask_MaskWrongGain","[PixelMask]") {
|
||||
ImageFormatSettings image_format;
|
||||
image_format.MaskModuleEdges(false).MaskChipEdges(false).MaskPixelsWithoutG0(true).GeometryTransformed(false);
|
||||
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1));
|
||||
DiffractionExperiment experiment(DetJF(4,1));
|
||||
experiment.ImportImageFormatSettings(image_format);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
@@ -70,7 +73,7 @@ TEST_CASE("PixelMask_MaskWrongGain","[PixelMask]") {
|
||||
|
||||
mask.LoadDetectorBadPixelMask(experiment, &calibration);
|
||||
|
||||
auto mask_out = mask.GetMask(experiment);
|
||||
auto mask_out = mask.GetMaskRaw(experiment);
|
||||
REQUIRE(mask_out.size() == experiment.GetModulesNum() * RAW_MODULE_SIZE);
|
||||
|
||||
CHECK(mask_out[2*RAW_MODULE_SIZE + 345] != 0);
|
||||
@@ -86,7 +89,7 @@ TEST_CASE("PixelMask_MaskWrongGain","[PixelMask]") {
|
||||
|
||||
REQUIRE(!experiment.IsMaskPixelsWithoutG0());
|
||||
mask.LoadDetectorBadPixelMask(experiment, &calibration);
|
||||
mask_out = mask.GetMask(experiment);
|
||||
mask_out = mask.GetMaskRaw(experiment);
|
||||
|
||||
CHECK(mask_out[2*RAW_MODULE_SIZE + 345] == 0);
|
||||
CHECK(mask_out[2*RAW_MODULE_SIZE + 346] != 0);
|
||||
@@ -102,7 +105,7 @@ TEST_CASE("PixelMask_MaskG0RMS","[PixelMask]") {
|
||||
image_format.MaskModuleEdges(false).MaskChipEdges(false).MaskPixelsWithoutG0(true).GeometryTransformed(false);
|
||||
image_format.PedestalG0RMSLimit(100);
|
||||
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1));
|
||||
DiffractionExperiment experiment(DetJF(4,1));
|
||||
experiment.ImportImageFormatSettings(image_format);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
@@ -123,7 +126,7 @@ TEST_CASE("PixelMask_MaskG0RMS","[PixelMask]") {
|
||||
|
||||
mask.LoadDetectorBadPixelMask(experiment, &calibration);
|
||||
|
||||
auto mask_out = mask.GetMask(experiment);
|
||||
auto mask_out = mask.GetMaskRaw(experiment);
|
||||
REQUIRE(mask_out.size() == experiment.GetModulesNum() * RAW_MODULE_SIZE);
|
||||
|
||||
CHECK(mask_out[2*RAW_MODULE_SIZE + 245] == (1 << PixelMask::TooHighPedestalRMSPixelBit));
|
||||
@@ -143,7 +146,7 @@ TEST_CASE("PixelMask_SCs","[PixelMask]") {
|
||||
image_format.MaskModuleEdges(false).MaskChipEdges(false).MaskPixelsWithoutG0(true).GeometryTransformed(false);
|
||||
image_format.PedestalG0RMSLimit(100);
|
||||
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1));
|
||||
DiffractionExperiment experiment(DetJF(4,1));
|
||||
experiment.ImportImageFormatSettings(image_format);
|
||||
experiment.StorageCells(16);
|
||||
|
||||
@@ -161,7 +164,7 @@ TEST_CASE("PixelMask_SCs","[PixelMask]") {
|
||||
|
||||
mask.LoadDetectorBadPixelMask(experiment, &calibration);
|
||||
|
||||
auto mask_out = mask.GetMask(experiment);
|
||||
auto mask_out = mask.GetMaskRaw(experiment);
|
||||
REQUIRE(mask_out.size() == experiment.GetModulesNum() * RAW_MODULE_SIZE);
|
||||
|
||||
CHECK(mask_out[456] == (1 << PixelMask::ErrorPixelBit));
|
||||
@@ -173,92 +176,8 @@ TEST_CASE("PixelMask_SCs","[PixelMask]") {
|
||||
CHECK(mask.GetStatistics().wrong_gain == 3);
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_CalculateNexusMask","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1, 8, 36, false));
|
||||
experiment.MaskModuleEdges(false).MaskChipEdges(false);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
|
||||
std::vector<uint32_t> v(4 * RAW_MODULE_SIZE, 0);
|
||||
v[2] = 1;
|
||||
v[4] = 1;
|
||||
v[5] = 1;
|
||||
v[3 * RAW_MODULE_SIZE + 780] = 1;
|
||||
|
||||
REQUIRE_NOTHROW(mask.LoadDetectorBadPixelMask(v));
|
||||
|
||||
auto mask_v = mask.GetMask(experiment);
|
||||
|
||||
REQUIRE(mask_v.size() == experiment.GetPixelsNum() );
|
||||
REQUIRE(mask_v[0] == 0);
|
||||
REQUIRE(mask_v[1] == 0);
|
||||
REQUIRE(mask_v[2] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[3] == 0);
|
||||
REQUIRE(mask_v[4] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[5] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[6] == 0);
|
||||
REQUIRE(mask_v[1030 * 700 + 300] == 0);
|
||||
REQUIRE(mask_v[(514+36)*1030*3 + 780 + 6] == (1 << PixelMask::ErrorPixelBit));
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_CalculateNexusMask_GetMaskRaw","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1, 8, 36, false));
|
||||
experiment.MaskModuleEdges(false).MaskChipEdges(false);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
|
||||
std::vector<uint32_t> v(4 * RAW_MODULE_SIZE, 0);
|
||||
v[2] = 1;
|
||||
v[4] = 1;
|
||||
v[5] = 1;
|
||||
v[3 * RAW_MODULE_SIZE + 780] = 1;
|
||||
|
||||
REQUIRE_NOTHROW(mask.LoadDetectorBadPixelMask(v));
|
||||
|
||||
auto mask_v = mask.GetMaskRaw();
|
||||
|
||||
REQUIRE(mask_v.size() == 4 * RAW_MODULE_SIZE );
|
||||
REQUIRE(mask_v[0] == 0);
|
||||
REQUIRE(mask_v[1] == 0);
|
||||
REQUIRE(mask_v[2] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[3] == 0);
|
||||
REQUIRE(mask_v[4] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[5] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[6] == 0);
|
||||
|
||||
REQUIRE(mask_v[3 * RAW_MODULE_SIZE + 780] == (1 << PixelMask::ErrorPixelBit));
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_CalculateNexusMask_GetMask_NoGeomTransfer","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1, 8, 36, false));
|
||||
experiment.MaskModuleEdges(false).MaskChipEdges(false);
|
||||
experiment.GeometryTransformation(false);
|
||||
PixelMask mask(experiment);
|
||||
|
||||
std::vector<uint32_t> v(4 * RAW_MODULE_SIZE, 0);
|
||||
v[2] = 1;
|
||||
v[4] = 1;
|
||||
v[5] = 1;
|
||||
v[3 * RAW_MODULE_SIZE + 780] = 1;
|
||||
|
||||
REQUIRE_NOTHROW(mask.LoadDetectorBadPixelMask(v));
|
||||
|
||||
auto mask_v = mask.GetMask(experiment);
|
||||
|
||||
REQUIRE(mask_v.size() == 4 * RAW_MODULE_SIZE );
|
||||
REQUIRE(mask_v[0] == 0);
|
||||
REQUIRE(mask_v[1] == 0);
|
||||
REQUIRE(mask_v[2] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[3] == 0);
|
||||
REQUIRE(mask_v[4] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[5] == (1 << PixelMask::ErrorPixelBit));
|
||||
REQUIRE(mask_v[6] == 0);
|
||||
|
||||
REQUIRE(mask_v[3 * RAW_MODULE_SIZE + 780] == (1 << PixelMask::ErrorPixelBit));
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_CalculateNexusMask_UserMaskRaw","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1, 8, 36, false));
|
||||
DiffractionExperiment experiment(DetJF(4, 1, 8, 36, false));
|
||||
experiment.MaskModuleEdges(false).MaskChipEdges(false);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
@@ -299,7 +218,7 @@ TEST_CASE("PixelMask_CalculateNexusMask_UserMaskRaw","[PixelMask]") {
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_CalculateNexusMask_UserMaskConv","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(4, 1, 8, 36, false));
|
||||
DiffractionExperiment experiment(DetJF(4, 1, 8, 36, false));
|
||||
experiment.MaskModuleEdges(false).MaskChipEdges(false);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
@@ -324,12 +243,12 @@ TEST_CASE("PixelMask_CalculateNexusMask_UserMaskConv","[PixelMask]") {
|
||||
}
|
||||
|
||||
TEST_CASE("PixelMask_MaskDetectorGaps","[PixelMask]") {
|
||||
DiffractionExperiment experiment(DetectorGeometry(8, 2, 8, 36, true));
|
||||
DiffractionExperiment experiment(DetJF(8, 2, 8, 36, true));
|
||||
experiment.MaskChipEdges(false).MaskModuleEdges(false);
|
||||
experiment.IncidentEnergy_keV(WVL_1A_IN_KEV);
|
||||
|
||||
PixelMask mask(experiment);
|
||||
auto mask_export = mask.GetMask(experiment);
|
||||
auto mask_export = mask.GetMask();
|
||||
REQUIRE(mask_export.size() == experiment.GetPixelsNum());
|
||||
|
||||
REQUIRE(mask_export[0] == 0);
|
||||
|
||||
Reference in New Issue
Block a user