22TEST_CASE(
"creating 2D Rectangular Tukey Windows",
"[sigproc::signalWindows::tukey2dSquare]" )
24 GIVEN(
"a centered square array" )
26 WHEN(
"256x256, alpha=0" )
30 win.resize( 256, 256 );
38 0.5 * ( win.rows() - 1.0 ),
39 0.5 * ( win.cols() - 1.0 ) );
41 REQUIRE( win.sum() == 256 * 256 );
44 WHEN(
"256x256, alpha=1" )
48 win.resize( 256, 256 );
56 0.5 * ( win.rows() - 1.0 ),
57 0.5 * ( win.cols() - 1.0 ) );
59 std::vector<float> win1( 256 );
62 REQUIRE_THAT( win( 0, 0 ), Catch::Matchers::WithinAbs( win1[0] * win1[0], 1e-6 ) );
63 REQUIRE_THAT( win( 10, 15 ), Catch::Matchers::WithinAbs( win1[10] * win1[15], 1e-6 ) );
65 WHEN(
"256x256, alpha=0.5" )
69 win.resize( 256, 256 );
77 0.5 * ( win.rows() - 1.0 ),
78 0.5 * ( win.cols() - 1.0 ) );
80 std::vector<float> win1( 256 );
83 REQUIRE_THAT( win( 0, 0 ), Catch::Matchers::WithinAbs( win1[0] * win1[0], 1e-6 ) );
84 REQUIRE_THAT( win( 10, 15 ), Catch::Matchers::WithinAbs( win1[10] * win1[15], 1e-6 ) );
void tukey2dSquare(realT *filt, int rows, int cols, realT W, realT H, realT alpha, realT xc, realT yc)
Create a 2-D Tukey window on a rectangle.