@@ -514,6 +514,74 @@ def test__brightest_coordinate_in_region_from__5x5_array_asymmetric_region__corr
514514 assert brightest_coordinate == pytest .approx ((- 0.1 , 0.2 ), 1.0e-4 )
515515
516516
517+ def test__brightest_coordinate_in_region_from__region_offset_from_origin__correct_peak_coordinate ():
518+ mask = aa .Mask2D .all_false (shape_native = (7 , 7 ), pixel_scales = 0.1 )
519+ values = np .zeros ((7 , 7 ))
520+ values [5 , 1 ] = 99.0
521+ array_2d = aa .Array2D (values = values , mask = mask )
522+
523+ brightest_coordinate = array_2d .brightest_coordinate_in_region_from (
524+ region = (- 0.25 , - 0.05 , - 0.25 , - 0.05 )
525+ )
526+
527+ assert brightest_coordinate == pytest .approx ((- 0.2 , - 0.2 ), 1.0e-4 )
528+
529+
530+ def test__brightest_coordinate_in_region_from__region_fully_offset_negative_quadrant__correct_peak_coordinate ():
531+ mask = aa .Mask2D .all_false (shape_native = (11 , 11 ), pixel_scales = 0.1 )
532+ values = np .zeros ((11 , 11 ))
533+ values [8 , 2 ] = 77.0
534+ array_2d = aa .Array2D (values = values , mask = mask )
535+
536+ brightest_coordinate = array_2d .brightest_coordinate_in_region_from (
537+ region = (- 0.45 , - 0.15 , - 0.45 , - 0.15 )
538+ )
539+
540+ assert brightest_coordinate == pytest .approx ((- 0.3 , - 0.3 ), 1.0e-4 )
541+
542+
543+ def test__brightest_coordinate_in_region_from__region_offset_positive_quadrant__correct_peak_coordinate ():
544+ mask = aa .Mask2D .all_false (shape_native = (11 , 11 ), pixel_scales = 0.1 )
545+ values = np .zeros ((11 , 11 ))
546+ values [2 , 8 ] = 55.0
547+ array_2d = aa .Array2D (values = values , mask = mask )
548+
549+ brightest_coordinate = array_2d .brightest_coordinate_in_region_from (
550+ region = (0.15 , 0.45 , 0.15 , 0.45 )
551+ )
552+
553+ assert brightest_coordinate == pytest .approx ((0.3 , 0.3 ), 1.0e-4 )
554+
555+
556+ def test__brightest_coordinate_in_region_from__region_clipped_to_array_bounds__correct_peak_coordinate ():
557+ mask = aa .Mask2D .all_false (shape_native = (5 , 5 ), pixel_scales = 0.1 )
558+ values = np .zeros ((5 , 5 ))
559+ values [0 , 0 ] = 42.0
560+ array_2d = aa .Array2D (values = values , mask = mask )
561+
562+ brightest_coordinate = array_2d .brightest_coordinate_in_region_from (
563+ region = (0.15 , 0.45 , - 0.45 , - 0.15 )
564+ )
565+
566+ assert brightest_coordinate == pytest .approx ((0.2 , - 0.2 ), 1.0e-4 )
567+
568+
569+ def test__brightest_sub_pixel_coordinate_in_region_from__region_offset_from_origin__correct_sub_pixel_peak ():
570+ mask = aa .Mask2D .all_false (shape_native = (7 , 7 ), pixel_scales = 0.1 )
571+ values = np .zeros ((7 , 7 ))
572+ values [5 , 1 ] = 100.0
573+ values [5 , 2 ] = 50.0
574+ values [4 , 1 ] = 50.0
575+ array_2d = aa .Array2D (values = values , mask = mask )
576+
577+ brightest_coordinate = array_2d .brightest_sub_pixel_coordinate_in_region_from (
578+ region = (- 0.25 , - 0.05 , - 0.25 , - 0.05 ), box_size = 1
579+ )
580+
581+ assert brightest_coordinate [0 ] < - 0.15
582+ assert brightest_coordinate [1 ] > - 0.2
583+
584+
517585def test__brightest_sub_pixel_coordinate_in_region_from__4x4_array__correct_sub_pixel_peak ():
518586 mask = aa .Mask2D .all_false (shape_native = (4 , 4 ), pixel_scales = 0.1 )
519587 array_2d = aa .Array2D (
0 commit comments