@@ -489,257 +489,6 @@ def test__resized_from():
489489
490490 assert (mask_resized == mask_resized_manual ).all ()
491491
492-
493- def test__zoom_quantities ():
494- mask = aa .Mask2D .all_false (shape_native = (3 , 5 ), pixel_scales = (1.0 , 1.0 ))
495- assert mask .zoom_centre == (1.0 , 2.0 )
496- assert mask .zoom_offset_pixels == (0 , 0 )
497- assert mask .zoom_shape_native == (5 , 5 )
498-
499- mask = aa .Mask2D .all_false (shape_native = (5 , 3 ), pixel_scales = (1.0 , 1.0 ))
500- assert mask .zoom_centre == (2.0 , 1.0 )
501- assert mask .zoom_offset_pixels == (0 , 0 )
502- assert mask .zoom_shape_native == (5 , 5 )
503-
504- mask = aa .Mask2D .all_false (shape_native = (4 , 6 ), pixel_scales = (1.0 , 1.0 ))
505- assert mask .zoom_centre == (1.5 , 2.5 )
506- assert mask .zoom_offset_pixels == (0 , 0 )
507- assert mask .zoom_shape_native == (6 , 6 )
508-
509- mask = aa .Mask2D .all_false (shape_native = (6 , 4 ), pixel_scales = (1.0 , 1.0 ))
510- assert mask .zoom_centre == (2.5 , 1.5 )
511- assert mask .zoom_offset_pixels == (0 , 0 )
512- assert mask .zoom_shape_native == (6 , 6 )
513-
514-
515- def test__mask_is_single_false__extraction_centre_is_central_pixel ():
516- mask = aa .Mask2D (
517- mask = np .array ([[False , True , True ], [True , True , True ], [True , True , True ]]),
518- pixel_scales = (1.0 , 1.0 ),
519- )
520- assert mask .zoom_centre == (0 , 0 )
521- assert mask .zoom_offset_pixels == (- 1 , - 1 )
522- assert mask .zoom_shape_native == (1 , 1 )
523-
524- mask = aa .Mask2D (
525- mask = np .array ([[True , True , False ], [True , True , True ], [True , True , True ]]),
526- pixel_scales = (1.0 , 1.0 ),
527- )
528- assert mask .zoom_centre == (0 , 2 )
529- assert mask .zoom_offset_pixels == (- 1 , 1 )
530- assert mask .zoom_shape_native == (1 , 1 )
531-
532- mask = aa .Mask2D (
533- mask = np .array ([[True , True , True ], [True , True , True ], [False , True , True ]]),
534- pixel_scales = (1.0 , 1.0 ),
535- )
536- assert mask .zoom_centre == (2 , 0 )
537- assert mask .zoom_offset_pixels == (1 , - 1 )
538- assert mask .zoom_shape_native == (1 , 1 )
539-
540- mask = aa .Mask2D (
541- mask = np .array ([[True , True , True ], [True , True , True ], [True , True , False ]]),
542- pixel_scales = (1.0 , 1.0 ),
543- )
544- assert mask .zoom_centre == (2 , 2 )
545- assert mask .zoom_offset_pixels == (1 , 1 )
546- assert mask .zoom_shape_native == (1 , 1 )
547-
548- mask = aa .Mask2D (
549- mask = np .array ([[True , False , True ], [True , True , True ], [True , True , True ]]),
550- pixel_scales = (1.0 , 1.0 ),
551- )
552- assert mask .zoom_centre == (0 , 1 )
553- assert mask .zoom_offset_pixels == (- 1 , 0 )
554- assert mask .zoom_shape_native == (1 , 1 )
555-
556- mask = aa .Mask2D (
557- mask = np .array ([[True , True , True ], [False , True , True ], [True , True , True ]]),
558- pixel_scales = (1.0 , 1.0 ),
559- )
560- assert mask .zoom_centre == (1 , 0 )
561- assert mask .zoom_offset_pixels == (0 , - 1 )
562- assert mask .zoom_shape_native == (1 , 1 )
563-
564- mask = aa .Mask2D (
565- mask = np .array ([[True , True , True ], [True , True , False ], [True , True , True ]]),
566- pixel_scales = (1.0 , 1.0 ),
567- )
568- assert mask .zoom_centre == (1 , 2 )
569- assert mask .zoom_offset_pixels == (0 , 1 )
570- assert mask .zoom_shape_native == (1 , 1 )
571-
572- mask = aa .Mask2D (
573- mask = np .array ([[True , True , True ], [True , True , True ], [True , False , True ]]),
574- pixel_scales = (1.0 , 1.0 ),
575- )
576- assert mask .zoom_centre == (2 , 1 )
577- assert mask .zoom_offset_pixels == (1 , 0 )
578- assert mask .zoom_shape_native == (1 , 1 )
579-
580-
581- def test__mask_is_x2_false__extraction_centre_is_central_pixel ():
582- mask = aa .Mask2D (
583- mask = np .array ([[False , True , True ], [True , True , True ], [True , True , False ]]),
584- pixel_scales = (1.0 , 1.0 ),
585- )
586- assert mask .zoom_centre == (1 , 1 )
587- assert mask .zoom_offset_pixels == (0 , 0 )
588- assert mask .zoom_shape_native == (3 , 3 )
589-
590- mask = aa .Mask2D (
591- mask = np .array ([[False , True , True ], [True , True , True ], [False , True , True ]]),
592- pixel_scales = (1.0 , 1.0 ),
593- )
594- assert mask .zoom_centre == (1 , 0 )
595- assert mask .zoom_offset_pixels == (0 , - 1 )
596- assert mask .zoom_shape_native == (3 , 3 )
597-
598- mask = aa .Mask2D (
599- mask = np .array ([[False , True , False ], [True , True , True ], [True , True , True ]]),
600- pixel_scales = (1.0 , 1.0 ),
601- )
602- assert mask .zoom_centre == (0 , 1 )
603- assert mask .zoom_offset_pixels == (- 1 , 0 )
604- assert mask .zoom_shape_native == (3 , 3 )
605-
606- mask = aa .Mask2D (
607- mask = np .array ([[False , False , True ], [True , True , True ], [True , True , True ]]),
608- pixel_scales = (1.0 , 1.0 ),
609- )
610- assert mask .zoom_centre == (0 , 0.5 )
611- assert mask .zoom_offset_pixels == (- 1 , - 0.5 )
612- assert mask .zoom_shape_native == (1 , 2 )
613-
614-
615- def test__rectangular_mask ():
616- mask = aa .Mask2D (
617- mask = np .array (
618- [
619- [False , True , True , True ],
620- [True , True , True , True ],
621- [True , True , True , True ],
622- ]
623- ),
624- pixel_scales = (1.0 , 1.0 ),
625- )
626-
627- assert mask .zoom_centre == (0 , 0 )
628- assert mask .zoom_offset_pixels == (- 1.0 , - 1.5 )
629-
630- mask = aa .Mask2D (
631- mask = np .array (
632- [
633- [True , True , True , True ],
634- [True , True , True , True ],
635- [True , True , True , False ],
636- ]
637- ),
638- pixel_scales = (1.0 , 1.0 ),
639- )
640-
641- assert mask .zoom_centre == (2 , 3 )
642- assert mask .zoom_offset_pixels == (1.0 , 1.5 )
643-
644- mask = aa .Mask2D (
645- mask = np .array (
646- [
647- [True , True , True , True , True ],
648- [True , True , True , True , True ],
649- [True , True , True , True , False ],
650- ]
651- ),
652- pixel_scales = (1.0 , 1.0 ),
653- )
654-
655- assert mask .zoom_centre == (2 , 4 )
656- assert mask .zoom_offset_pixels == (1 , 2 )
657-
658- mask = aa .Mask2D (
659- mask = np .array (
660- [
661- [True , True , True , True , True , True , True ],
662- [True , True , True , True , True , True , True ],
663- [True , True , True , True , True , True , False ],
664- ]
665- ),
666- pixel_scales = (1.0 , 1.0 ),
667- )
668-
669- assert mask .zoom_centre == (2 , 6 )
670- assert mask .zoom_offset_pixels == (1 , 3 )
671-
672- mask = aa .Mask2D (
673- mask = np .array (
674- [
675- [True , True , True ],
676- [True , True , True ],
677- [True , True , True ],
678- [True , True , True ],
679- [True , True , False ],
680- ]
681- ),
682- pixel_scales = (1.0 , 1.0 ),
683- )
684-
685- assert mask .zoom_centre == (4 , 2 )
686- assert mask .zoom_offset_pixels == (2 , 1 )
687-
688- mask = aa .Mask2D (
689- mask = np .array (
690- [
691- [True , True , True ],
692- [True , True , True ],
693- [True , True , True ],
694- [True , True , True ],
695- [True , True , True ],
696- [True , True , True ],
697- [True , True , False ],
698- ]
699- ),
700- pixel_scales = (1.0 , 1.0 ),
701- )
702-
703- assert mask .zoom_centre == (6 , 2 )
704- assert mask .zoom_offset_pixels == (3 , 1 )
705-
706-
707- def test__zoom_mask_unmasked ():
708- mask = aa .Mask2D (
709- mask = np .array (
710- [
711- [False , True , True , True ],
712- [True , False , True , True ],
713- [True , True , True , True ],
714- ]
715- ),
716- pixel_scales = (1.0 , 1.0 ),
717- )
718-
719- zoom_mask = mask .zoom_mask_unmasked
720-
721- assert (zoom_mask == np .array ([[False , False ], [False , False ]])).all ()
722- assert zoom_mask .origin == (0.5 , - 1.0 )
723-
724- mask = aa .Mask2D (
725- mask = np .array (
726- [
727- [False , True , True , True ],
728- [True , False , True , True ],
729- [True , False , True , True ],
730- ]
731- ),
732- pixel_scales = (1.0 , 2.0 ),
733- )
734-
735- zoom_mask = mask .zoom_mask_unmasked
736-
737- assert (
738- zoom_mask == np .array ([[False , False ], [False , False ], [False , False ]])
739- ).all ()
740- assert zoom_mask .origin == (0.0 , - 2.0 )
741-
742-
743492def test__mask_centre ():
744493 mask = np .array (
745494 [
0 commit comments