+
    i                        ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI	t	^ RI
t^ RIt^ RIHt ^ RIHt ^ RIt^ RIHtHtHtHtHtHt ^ RIHtHtHtH t H!t! ^ R	I"H#t#H$t$ ^ R
I%H&t&H't'H(t( ^ RI)H*t+ ^ RI,t,]$! R.RR7      R 4       t-]$! R.RRR.RR7      R 4       t.],P^                  Pa                  RRR.4      ]$! R.RR.R7      R 4       4       t1R t2],P^                  Pa                  R. RO4      ]#! R.R7      R 4       4       t3]#! R.R7      R 4       t4]#! R.R7      R 4       t5R  t6R! t7],P^                  Pa                  R". RO4      R# 4       t8R$ t9],P^                  Pa                  R%R&R'.4      R( 4       t:],P^                  Pa                  R". RO4      R) 4       t;R* t<R+ t=R, t>]$! R-.RR7      R. 4       t?]P4                  P                  R/4      ]#! R.R7      R0 4       4       tAR1 tB],P^                  Pa                  R2R3R3.^ .R3R4.^.R5R3.^.R6R3.^.R7R8.^U.RR3.R.R3R.R..4      R9 4       tC],P^                  Pa                  R:R;R<..R=3R>R?..R@3]P                  ^^..RA3^R..RB3RR..RC3^ ^ ..RD3.4      RE 4       tE]$! RF.R/RG7      RH 4       tF]$! RI.R/RG7      RJ 4       tG]#! R.R7      RK 4       tHRL tIRM tJ]$! RN.RR7      RO 4       tK]$! RP.RRR.RQ7      RR 4       tLRS tM]$! RT.RR/RU7      RV 4       tN]$! RW.RR7      RX 4       tO]#! R.R7      RY 4       tP]$! RZ.RR.RR/R[7      R\ 4       tQ]$! R].RR/RU7      R^ 4       tRR_ tS]$! R`.RR/RU7      Ra 4       tTRb tURc tVRd tWRe tXRf tYRg tZ],P^                  Pa                  Rh] ]P                  ! Ri4      ]P                  ! Rj4      ]P                  ! Rk4      P                  R4      3]!]P                  ! Ri4      ]P                  ! Rj4      ]P                  ! Rl4      P                  R4      3.4      Rm 4       t]Rn t^Ro t_]$! Rp.RR7      Rq 4       t`]$! Rr.RR7      Rs 4       taRt tbRu tc]$! Rv.RRwRx7      Ry 4       td]$! Rz.RR7      R{ 4       teR| tf]$! R}.RR7      R~ 4       tg]$! R.]P                  ! 4       R8X  d   ^ MRRR/R7      R 4       tiR tj],P^                  Pa                  RRP                  4        U u. uF  p ]P                  V 4      NK  	  up 4      R 4       tm]$! R.RR/RU7      R 4       tn]$! R.RR/RU7      R 4       to]$! R.RR/RU7      R 4       tp],P^                  Pa                  R]P                  ]P                  R R .4      R 4       tsR ttR tuR tvR tw],P^                  Pa                  RRR.4      ],P^                  Pa                  RRR.4      R 4       4       txR tyR tzR t{R t|]#! 4       R 4       t}R t~]P4                  P                  R/4      R 4       t]$! R.RR.RR/R[7      R 4       t ! R R]EP                  4      tR tR t]#! R.R7      R 4       t],P^                  Pa                  RR^.4      ]#! R.R7      R 4       4       t]#! R.R7      R 4       t]$! R.R/RG7      R 4       t]$! R.R/RG7      R 4       t]$! R.R/RRR7      R 4       t]#! RR7      R 4       t]#! RR7      R 4       tR t],P^                  EP                  R4      ],P^                  Pa                  R%R&R'.4      ],P^                  Pa                  R. RO. RO.4      ]#! RR7      R 4       4       4       4       t]#! R.R7      R 4       tR tR tR t]$! R.R/RRR7      R 4       t]$! R.R/RRR7      R 4       t]$! R.R/RR7      R 4       t],P^                  Pa                  RR4      ],P^                  Pa                  RR4      R 4       4       t],P^                  Pa                  RR4      ]#! 4       R 4       4       tR# u up i )    )	ExitStackcopyN)Path)assert_array_equal)Image)colorsimagepatchespyplotstylercParams)	AxesImage	BboxImageFigureImageNonUniformImagePcolorImage)check_figures_equalimage_comparison)BboxAffine2DTransformedBboxzinterp_alpha.pngT)remove_textc                 b   \         P                  ! ^^4      w  p w  r\        P                  ! R4      p\        P                  ! R4      VR&   \        P
                  ! \        P                  ! R\        P                  R7      4      VR	&   VP                  VRR7       VP                  VRR7       R# )
z:Test the interpolation of the alpha channel on RGBA imagesdtypenoneinterpolationbilinearN)   r!      r!   r!   ).   .   )pltsubplotsnpzerosonestriluint8imshow)figaxlaxrimgs       {/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_image.pytest_alpha_interpr4      sz     ll1a(OC#
((9
C''&/CK''"''&9:CKJJs&J)JJs*J-    interp_nearest_vs_noneg@pdfsvg)tol
extensionsr   c                 H   ^\         R&   \        P                  ! . R	O. R
O.. RO. RO..\        P                  R7      p \        P
                  ! ^^4      w  pw  r#VP                  V RR7       VP                  R4       VP                  V RR7       VP                  R4       R# )z5Test the effect of "nearest" and "none" interpolationsavefig.dpir   r   r   zinterpolation nonenearestzinterpolation nearestN)          )z   g      )      r   )rE   c   G   )r   r)   arrayr-   r'   r(   r.   	set_title)Xr/   ax1ax2s       r3   test_interp_nearest_vs_nonerM   (   s      H]
>?3 -029;	CAll1a(OC#JJqJ'MM&'JJq	J*MM)*r5   suppressCompositeFfigimagepng)r:   c                    \         P                  ! R^dR7      pWn        \        P                  ! \        P
                  ! ^d4      R,          \        P
                  ! ^d4      ^d,          4      w  r#\        P                  ! V^,          V^,          ,           W#,          ,
          4      p\        P                  ! ^V^,          ,          ^2V^,          ,          ,           4      pWE^,          ,           pVP                  V^ ^ RR7       VP                  VRRR1R3,          ^ ^dRR7       VP                  VRRRR13,          ^d^ RR7       VP                  VRRR1RRR13,          ^d^dRR7       R# )	   figsizedpig      Y@lower)xoyooriginNNNNrR   rR   )r'   figurerN   r)   ix_arangesinrO   )rN   r/   xyzcr2   s   &      r3   test_figimagere   :   s    **V
-C-66"))C.5("))C.3*>?DA
q!tad{QS !A
r!Q$wAqD !A
c'CLLqL1LLTrT1W!GL<LLQ"W#!GL<LLTrT4R4ZSSLAr5   c                      \         P                  ! 4       w  rVP                  . RO4       \        P                  ! 4       pV P                  V4       VP                  ^ 4       \         P                  ! V4       R# )r$   N)r$   rR   r&   )r'   r(   plotioBytesIOsavefigseekimread)r/   axbuffers      r3   test_image_python_ioro   J   sI    llnGCGGIZZ\FKK
KKNJJvr5   z!img_size, fig_size, interpolationc                    \         P                  P                  R 4       \        P                  R,          p\         P                  P                  \        WR,          4      \        WR,          4      4      pW3 F  pVP                  W34       K  	  V P                  4       pVP                  . RO4       VP                  VRR7       VP                  4       pVP                  . RO4       VP                  WdR7       R# )!N,r<   autor   Nr   r   r$   r$   )r)   randomseedr'   r   randintset_size_inchesr(   set_positionr.   )	fig_testfig_refimg_sizefig_sizer   rU   Ar/   rm   s	   &&&&&    r3   test_imshow_antialiasedr   S   s     IINN8
,,}
%C
		s3>*C,?@A"H/ #				BOOL!IIavI&				BOOL!IIaI-r5   c                 N   \         P                  P                  R 4       \        P                  R,          p\         P                  P                  \        V^,          4      \        V^,          4      4      pW3 F  pVP                  RR4       K  	  V P                  4       pVP                  VRR7       VP                  ^
^.4       VP                  ^
^.4       VP                  4       pVP                  VRR7       VP                  ^
^.4       VP                  ^
^.4       R# )rq   r<   333333@rr   r   r=   N)r)   rt   ru   r'   r   rv   rw   rx   r(   r.   set_xlimset_ylim)rz   r{   rU   r~   r/   rm   s   &&    r3   test_imshow_zoomr   k   s     IINN8
,,}
%C
		s37|Sq\2A"C% #				BIIavI&KKRKKR				BIIayI)KKRKKRr5   c                 V   \         P                  ! R 4       \        \        4      P                  R,          p\        \        4      P                  R,          pV P                  ^4      pV^ ,          P                  \        P                  ! V4      4       V^,          P                  \        P                  ! V4      4       VP                  ^4      pV^ ,          P                  \        P                  ! V4      4       V^,          P                  \        P                  ! V4      4       R# )default%baseline_images/pngsuite/basn3p04.png%baseline_images/test_image/uint16.tifN)r   user   __file__parentr(   r.   r   openr'   rl   )rz   r{   png_path	tiff_pathaxss   &&   r3   test_imshow_pilr   }   s    	IIiH~$$'NNHX%%(OOI


A
CFMM%**X&'FMM%**Y'(


1
CFMM#**X&'FMM#**Y'(r5   c                  0   \         P                  ! \        P                  P	                  \        P                  P                  \        4      R RR4      4      p V P                  \        P                  8X  g   Q h\        P                  ! V 4      R8X  g   Q hR# )baseline_images
test_imagez
uint16.tif N)r'   rl   ospathjoindirnamer   r   r)   uint16sumr2   s    r3   test_imread_pil_uint16r      sc    
**RWW\\"''//(";&lD EC99		!!!66#;)###r5   c                      \         P                  ! \        \        4      P                  R ,          4      p V P
                  \        P                  8X  g   Q h\        P                  ! V 4      R8X  g   Q hR# )r   r   N)	r'   rl   r   r   r   r   r)   r   r   r   s    r3   test_imread_fspathr      sP    
**X GGIC99		!!!66#;)###r5   fmtc                 p   V R9  p\         P                  P                  ^4       \         P                  P                  R^4      p\        P
                  ! 4       p\        P                  ! W2V ^R7       \        P
                  ! 4       p\        P                  ! WBV ^dR7       VP                  ^ 4       \        P                  ! W0R7      pVP                  ^ 4       \        P                  ! W@R7      pVP                  R^^V,           38X  g   Q hVP                  R^^V,           38X  g   Q h\        WV4       R# )jpgi@  )formatrU   r   N)r   jpeg)r)   rt   ru   rv   rh   ri   r'   imsaverk   rl   shaper   )r   	has_alphadata	buff_dpi1buff_dpi100arr_dpi1
arr_dpi100s   &      r3   test_imsaver      s    ?*I IINN1 99>>$"D

IJJys2**,KJJ{#6NN1zz)0HQK4J>>dAq9}5555aY7777x,r5   c                     RR.RR.RR	..p \         P                  ! 4       p\        P                  ! WRR7       VP	                  ^ 4       \        P
                  ! V4      p\        \        P                  ! V 4      VR
,          4       R# )      ?rP   r   N)r           r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )rZ   rZ   Nr&   N)	rh   ri   r'   r   rk   rl   r   r)   rH   )img_databuffread_imgs      r3   test_imsave_python_sequencesr      ss     
/*	/*	/*H ::<DJJte,IIaLzz$H
r5   rY   upperrV   c                     \         P                  ! 4       p\        P                  ! RRR7      p\        P
                  ! WRV R7       R# )
   r-   r   rP   )arrr   rY   N)r   r   r"   )rh   ri   r)   r*   mimager   )rY   bufresults   &  r3   test_imsave_rgba_originr      s/     **,CXXk1F
MM#%?r5   c                     \         P                  ! \        \        P                  4      \
        P                  ! ^ ^..4      V R7       R# )r   r   N)r'   r   r   r   devnullr)   rH   )r   s   &r3   test_imsave_fspathr      s*    JJtBJJAq6(!3C@r5   c                     \         P                  P                  ^4       R F  p \         P                  P                  ^^^4      p\        P
                  ! 4       p\        P                  ! W!V RR7       VP                  ^ 4       \        P                  ! V4      p^V,          P                  R4      pV R8X  d   VRRR1,          p^V,          P                  R4      p\        W4       K  	  R# )r$   rV   rP   )rY   r   r-   N)rV   r   r\   )r)   rt   ru   rv   rh   ri   r'   r   rk   rl   astyper   )rY   r   r   arr_bufs       r3   test_imsave_color_alphar      s     IINN1$yy~~b"a(zz|

4fU;		!**T"
 D  )W":Dw;&&w/4)! %r5   c                     ^ RI Hp  \        P                  ! 4       pV ! 4       pVP	                  RR4       \
        P                  ! V^ ^.^^..RRV/R7       \        P                  ! V4      pVP                  R,          R8X  g   Q hR# )r   )PngInfoSoftwaretestrP   pnginfor   
pil_kwargsN)
PIL.PngImagePluginr   rh   ri   add_textr'   r   r   r   info)r   r   r   ims       r3   test_imsave_pil_kwargs_pngr      sr    *
**,CiGZ(JJsaVaV$G(<>	CB77:&(((r5   c                  |   ^ RI Hp  \        P                  ! 4       pRR/p\        P
                  ! V^ ^.^^..RVR7       \        V4      ^8X  g   Q h\        P                  ! V4      pVP                  P                  4        UUu/ uF  w  rEW,          P                  VbK  	  pppVR,          R8X  g   Q hR# u uppi )r   )TAGS_V2descriptionz
test imagetiffr   ImageDescriptionN)PIL.TiffTagsr   rh   ri   r'   r   lenr   r   tag_v2itemsname)TAGSr   r   r   kvtagss          r3   test_imsave_pil_kwargs_tiffr     s    ,
**,C.JJJsaVaV$V
Kz?a	CB(*		(9:(9DGLL!O(9D:"#|333 ;s   B8image_alphac                  6   \         P                  P                  ^ 4       \         P                  P                  ^^4      p \        P
                  ! ^^4      w  pw  r#pVP                  V RRR7       VP                  V RRR7       VP                  V RRR7       R# )r   r   r   )alphar         ?r=   N)r)   rt   ru   rv   r'   r(   r.   )Zr/   rK   rL   ax3s        r3   test_image_alphar     su    IINN1
		q!A<<1-C#CJJq6J2JJq6J2JJq9J5r5   mpl20c                 D   \         P                  P                  R 4       \         P                  P                  ^^^4      p\         P                  ! V^,          4      pV P                  ^^4      w  w  rEw  rgVP                  VRR7       VP                  VRR7       VP                  VRR7       VP                  VRR7       \         P                  ! V\         P                  ! R4      3^R7      p\         P                  ! V\         P                  ! R^\         P                  4      3^R7      p	VP                  ^^4      w  w  rEw  rgRVR&   VP                  V4       RVR&   VP                  V4       ^V	R&   VP                  V	4       ^V	R&   VP                  V	4       R# )rq   r   r         ?axisN)   r   r$   rZ   rZ   r&   )
r)   rt   ru   rv   r-   r(   r.   concatenater+   full)
rz   r{   rgbfrgbuax0rK   rL   r   rgbafrgbaus
   &&        r3   test_imshow_alphar     sJ    IINN899>>!Q"D88D3JD'00A6Zc#JJt3JJJt4J JJt3JJJt4J NND"'')"45A>ENND"'')S"(("CD1ME&//15Zc#E'NJJuE'NJJuE'NJJuE'NJJur5   c                     ^ RI Hp  \        P                  ! 4       w  rVP	                  \
        P                  ! ^d4      P                  ^
^
4      RR7      p^^rTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      ^,8X  g   Q hR^rTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      e   Q hVP                  4        VP	                  \
        P                  ! ^d4      P                  ^
^
4      RR7      p^^rTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      ^,8X  g   Q h\        P                  ! 4       w  rVP	                  \
        P                  ! ^d4      P                  ^
^
4      . ROR	7      pR
R
rTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      ^78X  g   Q hRR
rTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      e   Q hRRrTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      e   Q h\        4       P                  ^4      P                  R4      p	VP	                  \
        P                  ! ^d4      P                  ^
^
4      WP                  ,           R7      p^^
rTVP                  P                  WE.4      w  rgV ! RVP                  Wg4      pVP                  V4      ^,8X  g   Q hR# )r   
MouseEventr   )rY   motion_notify_eventg333333$@NrV   r   extent      ?r   {Gz?	transform)r   r   r   r   g{Gz)matplotlib.backend_basesr   r'   r(   r.   r)   r_   reshape	transDatar   canvasget_cursor_dataclearr   scalerotate)
r   r/   rm   r   ra   rb   xdispydispeventtranss
             r3   test_cursor_datar  2  s   3llnGC	299S>))"b1'	BBaq<<))1&1LE,cjj%GEe$*** q<<))1&1LE,cjj%GEe$,,, HHJ	299S>))"b1'	BBaq<<))1&1LE,cjj%GEe$***llnGC	299S>))"b1:J	KBq<<))1&1LE,cjj%GEe$*** q<<))1&1LE,cjj%GEe$,,,q<<))1&1LE,cjj%GEe$,,, JQ&&s+E	299S>))"b1"\\1 
 
3Bbq<<))1&1LE,cjj%GEe$***r5   zxy, datar         ?g      @g      !@g      #@g      @c                    ^ RI Hp \        P                  ! . RO4      p\        P                  ! . RO4      pV\        P                  R3,          ^,          VR\        P                  3,          ^,          ,           p\
        P                  ! 4       w  rg\        WsP                  4       VP                  4       VP                  4       VP                  4       3R7      pVP                  W4V4       VP                  V4       VP                  VP                  4       ^,
          VP                  4       4       VP                  VP                  4       ^,
          VP                  4       4       VP                  P                  V 4      w  rV! RVP                   W4      pVP#                  V4      V8X  g   Q VP#                  V4      V34       hR# )r   r   rZ   r   r   N)r   r$   r"   	      )r   r$   rR   r&   r"   )r  r   r)   rH   newaxisr'   r(   r   minmaxset_data	add_imager   r   r  r   r  r  )xyr   r   ra   rb   rc   r/   rm   r   r	  r
  r  s   &&          r3   test_cursor_data_nonuniformr  y  s9    4 	!"A
!A	"**a-!a2::.11AllnGC	UUWaeegquuw$H	IBKKaLLKK!QUUW%KK!QUUW%<<))"-LE,cjj%GEe$,Or/A/A%/H$.OO,r5   z
data, texti'  i'  z[10001.000]grh|?g/$?z[0.123][]z[1.0000000000000000]z[-1.0]z[0.00]c                    ^ RI Hp \        P                  ! 4       w  r4VP	                  V 4      pVP
                  P                  ^ ^ .4      w  rgV! RVP                  Wg4      pVP                  VP                  V4      4      V8X  g   Q hR# )r   r   r   N)
r  r   r'   r(   r.   r  r   r  format_cursor_datar  )	r   textr   r/   rm   r   r	  r
  r  s	   &&       r3   test_format_cursor_datar    sr     4llnGC	4B<<))1a&1LE,cjj%GE  !3!3E!:;tCCCr5   
image_clip)r   c                      ^^.^^..p \         P                  ! 4       w  rVP                  V 4      p\        P                  ! R^VP
                  R7      pVP                  V4       R# )r$   )radiusr   Nr   r   )r'   r(   r.   r   Circler  set_clip_path)dr/   rm   r   patchs        r3   test_image_clipr&    sR    
Q!QAllnGC	1BNN6!r||DEUr5   image_cliprectc                      \         P                  ! 4       w  r^^.^^..pVP                  VRR7      p\        P                  ! R^^VP
                  P                  R7      pVP                  V4       R# )r$   r   )r  widthheightr   Nr   r!   r   r!   r$   r$   )r'   r(   r.   r   	Rectangleaxesr  r#  )r/   rm   r$  r   rects        r3   test_image_cliprectr0    se    llnGC
Q!QA	1\	*B10A0ACDTr5   c                 ~   \         P                  ! ^d4      P                  R4      pVP                  4       pVP	                  VR,          RRR7       VP                  ^ ^4       VP                  ^ ^4       V P                  4       pVP	                  VRRR7       VP                  ^ ^4       VP                  ^ ^4       R# )d   r    )r   r   N)r   r   r$   rZ   rZ   r   )r$   rR   r$   rR   )r)   r_   r  r(   r.   r   r   )rz   r{   r   rm   s   &&  r3   test_imshow_10_10_1r4    s     ))C.
 
 
-C				BIIc'l*\IJKK1KK1				BIIcLIAKK1KK1r5   c                     \         P                  ! 4       w  r\        P                  ! ^4      P	                  R4      p\
        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)   N)r   r   rR   	r'   r(   r)   r_   r  pytestraises	TypeErrorr.   r/   rm   r   s      r3   test_imshow_10_10_2r<    P    llnGC
))C.
 
 
-C	y	!	!
		# 
"	!	!	!   A;;B	c                     \         P                  ! 4       w  r\        P                  ! R 4      P	                  R4      p\
        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)i  N)r   r   r!   r7  r;  s      r3   test_imshow_10_10_5r@    r=  r>  no_interpolation_originc                  ,   \         P                  ! ^4      w  rV^ ,          P                  \        P                  ! ^d4      P                  R4      RRR7       V^,          P                  \        P                  ! ^d4      P                  R4      RR7       R# )rR   rV   r   )rY   r   r   N)rR   2   )r'   r(   r.   r)   r_   r  )r/   r   s     r3   test_no_interpolation_originrD    sg    ||AHCFMM"))C.((1' &  (FMM"))C.((1MHr5   image_shift)r   r:   c            
      b   \        ^^d4       U Uu. uF4  p \        ^^d4       Uu. uF  p^V,          ^V ,          ,           NK  	  upNK6  	  pp pRpRp\        P                  ! 4       w  rVVP                  V\        P
                  ! 4       RW4^^d3R7       VP                  R4       R# u upi u upp i )r$   gMk&Agk&Ar   )normr   r   rr   N)ranger'   r(   r.   r	   LogNorm
set_aspect)rb   ra   imgDatatMintMaxr/   rm   s          r3   test_image_shiftrN    s    ?DQ}M}!uQ}5}!AA}5}GMDDllnGCIIgFNN,F!S)  +MM& 6Ms   B+ B&B+&B+c                     \         P                  ! ^^.R7      p V P                  . RORR7      p\        P                  ! \        P
                  ! ^4      ^4      P                  ^^	4      pVP                  VR. RORRR7      p^;rEVP                  V) V.4       VP                  V) V.4       VP                  . 4       VP                  . 4       \        P                  ! 4       pV P                  VRR7       VP                  ^ 4       \         P                   ! V4      p\#        VR,          4      w  rxr\#        VR,          4      w  rxrV^d8w  g   Q R	4       hR
# )r$   rT   F)frameonr   r   gray)rY   r   r   cmap)	facecolorz.Expected a non-green edge - but sadly, it was.Nrs   r   rV  r   )r   r$   r   )rZ   r   )rZ   r\   )r'   r]   add_axesr)   tiler_   r  r.   r   r   
set_xticks
set_yticksrh   ri   rj   rk   rl   r   )r/   rm   r   r   ra   rb   r   rgbas              r3   test_image_edgesr_    s   
**aV
$C	lE	2B77299R="%--b!4D	40B!'f 
 
6B IAKK!QKK!QMM"MM"
**,CKKyK)HHQK	CBRXJA!RYJA!8EEE8r5   image_composite_background)r   r   c                     \         P                  ! 4       w  r\        P                  ! ^4      P	                  ^^4      pVP                  V. ROR7       VP                  V. ROR7       VP                  R4       VP                  ^ ^.4       R# )   r   N)r   rR      r   )r"   r   rc  r   )r$   r   r   r   )r'   r(   r)   r_   r  r.   set_facecolorr   r;  s      r3   test_image_composite_backgroundre    si     llnGC
))B-

1
%CIIc-I(IIc-I(^$KKBr5   image_composite_alphac                    \         P                  ! 4       w  r\        P                  ! R	4      p^VR
&   \        P                  ! \        P
                  ! ^ RR4      \        P
                  ! ^ ^R4      RRR1,          34      VR&   \        P                  ! R4      p^VR
&   ^VR&   \        P                  ! \        P
                  ! ^ RR4      \        P
                  ! ^ ^R4      RRR1,          34      R\        P                  3,          VR&   VP                  V. RORR7       VP                  V. RORR7       VP                  V. ROR7       VP                  V. ROR7       VP                  V. RORR7       VP                  V. RORR7       VP                  R4       VP                  ^ ^.4       VP                  ^^ .4       R# )zo
Tests that the alpha value is recognized and correctly applied in the
process of compositing images together.
rZ   皙?皙?N333333?)r   r   333333?r   )      r"   r3  r\   r   )rm  rl  r"   )rZ   rZ   r$   )r$   rR   r!   r   )rR   r&   r!   r   )r&   r"   r!   r   )r   r!   r$   rR   )r   r!   rR   r&   )r   r!   r&   r"   )r   r   r   r$   )r'   r(   r)   r*   r   r_   r  r.   rd  r   r   )r/   rm   r   arr2s       r3   test_image_composite_alpharo    si    llnGC
((;
CCL>>	1c3	1a!5dd!;<>CL88K DDMDMNN	1c3	1a!5dd!;<>>?mMDMIIc,cI2IIc,cI2IIc,I'IId<I(IId<sI3IId<sI3^$KKAKKAr5   c                    \         P                  ! ^	4      P                  R4      pW3 F  pVP                  4       pVP	                  V\
        P                  P                  . RO4      VP                  3R7       VP	                  V\
        P                  P                  . RO4      VP                  3R7       K  	  RVn	        R# )r  )	clip_pathTNr&   r&   )r!  r   r$   )r$   r   )r,  r$   rR   )rR   r$   )
r)   r_   r  add_subplotr.   mplr   r   r  rN   )rz   r{   tr/   rm   s   &&   r3   #test_clip_path_disables_compositingrx  6  s    
		!V$A"__
		!.F G " .	 	/
		!.F G " .	 	/	 # !%Gr5   rasterize_10dpi)r:   r   r   c                  6   \         P                  ! ^^.^^..4      p \        P                  ! ^^RR7      w  rV^ ,          P	                  V 4       V^,          P                  ^ ^.^ ^.RRR7       V^,          P                  RRR7       V^,          P                  ^ ^.^ ^.RR7       V^,          P                  RRR7       V FG  pVP                  . 4       VP                  . 4       VP                  R,          P                  R4       KI  	  ^
\        R	&   R
# )r$   rP  g      4@T)	linewidth
rasterizedxlimylim)r{  rZ   Fr<   N)r&   r$   rs  )r\   rR   )r)   asarrayr'   r(   r.   rg   setrY  rZ  spinesset_visibler   )r2   r/   r   rm   s       r3   test_rasterize_dpir  B  s     **q!fq!f%
&C||Aq&1HCFMM#FKKAA#$K?FJJFJ)FKKAA#K.FJJFJ) 
b
b
		!  ' 
 !H]r5   bbox_image_invertedc            	         \         P                  ! ^d4      P                  R	4      p \        P                  ! 4       w  r\        \        \        ^d^d.^ ^ ..4      VP                  4      RR7      pVP                  V 4       VP                  R4       VP                  ^ ^d4       VP                  ^ ^d4       VP                  V4       \         P                  ! ^
4      p \        \        \        RR.RR..4      VP                  4       P                   4      RR7      pVP                  V 4       VP                  R4       VP                  V4       R# )
r2  r=   r   Fri  皙?rj  r   Nr   r   )r)   r_   r  r'   r(   r   r   r   r  r  set_clip_onr   r   
add_artistidentity
get_figuretransFigure)r
   r/   rm   bbox_ims       r3   test_bbox_image_invertedr  a  s    IIcN""8,EllnGCsCj1a&12BLLA!G UKK3KK3MM'KKOEsCj3+-F(G(*(C(CE&/1G UMM'r5   c                     \         P                  ! . R	O. R
O. RO. RO.4      p \        P                  ! R^dR7      w  rVP	                  . RO4       VP                  ^ ^4       VP                  ^ ^4       VP                  V . RORR7      pVP                  P                  4        VP                  P                  pVP                  V4      p\        VP                  4       R^.RR..4       \        P                  ! R^dR7      w  rVP	                  . RO4       VP                  ^^4       VP                  ^ ^4       VP                  V . RORVP                  R7      pVP                  P                  4        VP                  P                  pVP                  V4      p\        VP                  4       R^.RR..4       R# )r   rS   r=   )r   r   i  i  i  )r   r   r   N)r   r   r   r   )ri  g?r   皙?)rk  rj  r   r  )ffffff??r  rk  r  rs   )r  r  r  r  )r)   rH   r'   r(   ry   r   r   r.   r  drawrendererget_window_extentr   
get_points	transAxes)r   r/   rm   im_objr  im_bboxs         r3   $test_get_window_extent_for_AxisImager  z  st   
 
*,A')=? 
@Bll85GCOOL!KK1KK1YY
'y  BF JJOOzz""H&&x0Gw))+sCj3*-EFll85GCOOL!KK1KK1YY
'y,,   F JJOOzz""H&&x0Gw))+sCj3*-EFr5   zzoom_and_clip_upper_origin.pngc                      \         P                  ! ^d4      p V P                  R4      p \        P                  ! 4       w  rVP                  V 4       VP                  RR4       VP                  RR4       R# )r2         @Nr        )r)   r_   r  r'   r(   r.   r   r   )r
   r/   rm   s      r3   test_zoom_and_clip_upper_originr    sT     IIcNEMM(#EllnGCIIeKKTKKcr5   c                  h    \         P                  ! 4       p \        V 4      pVP                  R 4       R# )BluesN)r'   gcar   set_cmaprm   r   s     r3   test_nonuniformimage_setcmapr    s#    	B		BKKr5   c                      \         P                  ! 4       p \        V 4      pVP                  \         P                  ! 4       4       R # N)r'   r  r   set_norm	Normalizer  s     r3   test_nonuniformimage_setnormr    s)    	B		BKK r5   c                  \   \         P                  ! RRR7      p \        ^
4       F&  p\         P                  ! RR^
4      ^,          WR3&   K(  	  \        P
                  ! RR4      pVP                  V P                  4       4       \        P                  ! 4       w  r4VP                  V4       R# )	r   r-   r   r   r   rZ   LNr  )r)   r+   rH  linspacer   newputdataflattenr'   r(   r.   )imdir   r/   rm   s        r3   test_jpeg_2dr    sw    
''('
*C2YKKS"-3qD	 	3	!BJJs{{}llnGCIIbMr5   c                     \         P                  ! RRR7       \        P                  ! R\        R7      p \        P
                  ! RRR4      V R&   \         P                  ! V 4       \        P                  ! 4       p\         P                  ! VRRRR7       VP                  ^ 4       \        P                  ! V4      p\        VP                  R	4      4      p^Tu;8:  d	   ^8:  g   Q h Q hVP                  R4      pVR8X  g   Q hR
# )r$   ,  rS   r   r   r   redr   )rT  r   rU      Nr,  )r  r  r"   r%   r!  )   r   r   )r'   r]   r)   r*   floatr  rO   rh   ri   rj   rk   r   r   r   	getcolorsgetpixel)r   r   r
   
num_colorscorner_pixels        r3   test_jpeg_alphar    s    JJv3' 
-u	-BS#s+BvJLL::<DKKe=IIaLJJtE U__S)*J*######>>&)L;&&&r5   c                     \         P                  ! 4       p \        V 4      p\        P                  ! ^\
        R7      P                  R4      pVP                  V4       RVR&   VP                  R,          ^ 8X  g   Q R4       hR# rb  r   #@value changedNr"   r&   r!  )	r'   r  r   r)   r_   r  r  r  _Arm   r   rc   s      r3   test_axesimage_setdatar    s`    	B	2B
		"E"**62AKKNAdG55;!,_,r5   c                     \         P                  ! 4       p \        V 4      p\        P                  ! ^\
        R7      P                  R4      pVP                  V4       RVR&   VP                  R,          ^ 8X  g   Q R4       hR# r  )	r'   gcfr   r)   r_   r  r  r  r  )r/   r   rc   s      r3   test_figureimage_setdatar    sa    
'')C	S	B
		"E"**62AKKNAdG55;!,_,r5   zimage_cls,x,y,a      @      @g      (@g      @c                    \         P                  ! 4       pV ! V4      pVP                  WV4       R ;V^ &   ;V^ &   VR&   VP                  R,          VP                  ^ ,          u;8X  d'   VP
                  ^ ,          u;8X  d   ^ 8X  g   Q R4       h Q R4       hVP                  WVP                  . VP                  ORN54      4       R# )r  r  Nr!  r\   )r'   r  r  r  _Ax_Ayr  r   )	image_clsra   rb   r^  rm   r   s   &&&&  r3   test_setdata_xyar    s     
B	2BKKaAaD1Q4!D'55;"&&)5rvvay5A5FF5FF5KKaii!''2/0r5   c                     ^ RI Hp  \        P                  P	                  ^ 4       \        P                  P                  ^
^
4      p\        P                  ! ^^4      w  r#V^ ,          P                  V4      pV^,          P                  V4      p\        P                  ! WC^ ,          R7       \        P                  ! WS^,          R7       \        P                  ! 4       p\        P                  ! VRR7       \        P                  ! VP                  4       4      pV P                  V4      pRpVP                  R4       F"  p	Vf   V	R,          pK  V	R,          V8w  g   K"  Q h	  R# )r   )ElementTree)rm   r8   r   Nr
   r)  )	xml.etreer  r)   rt   ru   rv   r'   r(   
pcolormeshcolorbarrh   ri   rj   getvalueparseiter)
r  r   r/   rm   p1p2r   treer)  r
   s
             r3   test_minimized_rasterizedr    s     &IINN199>>"b!Dll1a GC	A		$	B	A		$	BLL1LL1::<DKKU#::dmmo&DT"DE7#='NEW~&u $r5   c                  ,   \        \        4      P                  R ,          p R\        P                  R8X  d   RMR,           V P                  4       P                  4       ,           p\        P                  ! \        RR7      ;_uu_ 4        \        P                  ! V4       RRR4       \        P                  P                  V4      ;_uu_ 4       p\        P                  ! V4       RRR4       R#   + '       g   i     LX; i  + '       g   i     R# ; i)r   zfile:win32z/// zPlease open the URLmatchN)r   r   r   sysplatformresolveas_posixr8  r9  
ValueErrorr'   rl   urllibrequesturlopen)r   urlfiles      r3   test_load_from_urlr    s    >  #JJD||w.eB8\\^$$&'C 
z)>	?	?

3 
@				$	$

4 
%	$ 
@	?	$	$	$s   C/D/C?	D	log_scale_imagec            	          \         P                  ! R4      p ^V R&   \        P                  ! 4       w  rVP	                  V . R	OR^R
RR7       VP                  RR7       R# )r   NNrR   viridisrr   )r   rS  vmaxvminaspectlog)yscaleNr  )r$   r2  r$   r2  r\   )r)   r*   r'   r(   r.   r  )r   r/   rm   s      r3   test_log_scale_imager  &  sS    
AAcFllnGCIIa(yqr  FF%Fr5   rotate_imagec            	         R p \         P                  ! RRV 4      ;r\         P                  ! W4      w  r4\         P                  ! V^,          V^,          ,           ) ^,          4      ^\         P                  ,          ,          p\         P                  ! V^,
          R,          ^,          V^,
          R,          ^,          ,           ) ^,          4      ^\         P                  ,          R,          R,          ,          pWe,
          p\
        P                  ! ^^4      w  rV	P                  VRRR. RORR7      p
\        4       P                  ^4      V	P                  ,           pV
P                  V4       V
P                  4       w  rrV	P                  WWV.WWV.R	^VR
7       V	P                  ^^4       V	P                  ^ ^4       R# )r   r  r  r   r   r  rV   T)r   rS  rY   r   clip_onzr--)lwr   N      )r"   rR   )r)   r_   meshgridexppir'   r(   r.   r   
rotate_degr  set_transform
get_extentrg   r   r   )deltara   rb   rJ   YZ1Z2r   r/   rK   im1trans_data2x1x2y1y2s                   r3   test_rotate_imager  1  sg   EIIdC''A;;qDA	!Q$A+"	#q255y	1B
&&QUcMA%!a%3(::;a?
@ruu9s?S "B
A||Aq!HC
**Qf9#*D  :C *''+cmm;Kk" ^^%NBBHHbbb!BBB#71"  $ LLALLAr5   c                  "   \         P                  ! 4       p \        P                  ! R4      p\        P
                  ! WRR7       V P                  ^ 4       \        P                  ! V 4      pVP                  R,          VP                  8X  g   Q hR# )  rP   r   :NrR   NN)r  iA  )	rh   ri   r)   r*   r'   r   rk   rl   r   )r   r   r2   s      r3   test_image_preserve_sizer  M  s\    ::<D	*	BJJt&IIaL
**T
C99R=BHH$$$r5   c                  @   ^p \         P                  ! V \        4      p\        P                  ! W 3RR7      pVP                  R	4      pVP                  4        VP                  VRRRR7       \        P                  ! 4       pVP                  V^R7       VP                  ^ 4       \        P                  ! V4      pVP                  R
8X  g   Q h\        \         P                  ! VR,          \         4      \         P                  ! V \         4      RRR1,          4       R# )   F)rT   rQ  r=   rV   rr   )r   rY   r  )rU   N)r   r   r   r   )r  r  r"   r3  r\   )r)   r  r  r'   r]   rW  set_axis_offr.   rh   ri   rj   rk   rl   r   r   r  bool)nr   r/   rm   r   r2   s         r3   test_image_preserve_size2r  Y  s    	A;;q% D
**aVU
3C	*	+BOOIId)GFIK::<DKK!KIIaL
**T
C99	!!!rzz#g,5{{1d+DbD13r5   zmask_image_over_under.pngr   )r   r9   c                  R   R p \         P                  ! RRV 4      ;r\         P                  ! W4      w  r4\         P                  ! V^,          V^,          ,           ) ^,          4      ^\         P                  ,          ,          p\         P                  ! V^,
          R,          ^,          V^,
          R,          ^,          ,           ) ^,          4      ^\         P                  ,          R,          R,          ,          p^
We,
          ,          p\
        P                  P                  P                  RRRR7      p\         P                  P                  VR8  V4      p	\
        P                  ! ^^4      w  p
w  rVP                  V	R	V\        P                  ! RR
RR7      R. ROR7      pVP                  R4       V
P!                  VRRV^
R7       VP                  V	RV\        P"                  ! . RORRR7      R. ROR7      pVP                  R4       V
P!                  VRRRV^
R7       R# )g?r  r  r   r[  r\  r]  overunderbad333333?r    r   F)r  r  cliprV   )r   rS  rG  rY   r   zGreen=low, Red=high, Blue=badboth
horizontal)extendorientationrm   r  r=   r  )ncolorsr  zWith BoundaryNormproportional)r!  spacingr"  rm   r  Nr  g      )r  r&   r  r&   )r\   r  gɿr   r  r   r$   )r)   r_   r  r  r   r'   cmrR  with_extremesmamasked_wherer(   r.   r	   r  rI   r  BoundaryNorm)r  ra   rb   rJ   r  r  r  r   paletteZmr/   rK   rL   r   s                 r3   test_mask_image_over_underr-  m  s    EIIdC''A;;qDA	!Q$A+"	#q255y	1B
&&QUcMA%!a%3(::;a?
@ruu9s?S "B
BGAffkk''S'EG			AGQ	'Bll1a(OC#	Bj ))t#EJ"> 
 
;B MM12LLF  $ 
Bi ,,-M58uF">	 
 
;B
 MM%&LLFN)c"  >r5   
mask_imagec                     \         P                  ! ^^4      w  p w  r\        P                  ! R4      p\        P                  VR&   VP                  VRR7       \        P                  ! R\        R7      pRVR&   \        P                  P                  \        P                  ! R\        P                  R7      V4      pVP                  VRR7       R# )r$   r=   r   r   TNr#   )r$   rR   Nr0  )r'   r(   r)   r+   nanr.   r*   r  r(  masked_arrayr   )r/   rK   rL   r~   s       r3   test_mask_imager3    s     ll1a(OC#
A&&AhKJJq	J*
t$AAhK
2776;Q?AJJq	J*r5   c                      \         P                  ! R\         P                  4      p \        P                  ! 4       w  rVP                  V 4       VP                  P                  4        R# )rR   Nr[   )r)   r   r1  r'   r(   r.   r  	draw_idle)r   r/   rm   s      r3   test_mask_image_allr6    s>    776266"DllnGCIIdOJJr5   zimshow_endianess.pngc                     \         P                  ! ^
4      p \         P                  ! W 4      w  r\         P                  ! V^,
          V^,
          4      p\        P
                  ! ^^4      w  pw  rV\        RRRR7      pVP                  ! VP                  R4      3/ VB  VP                  ! VP                  R4      3/ VB  R# )r   rV   r=   r  )rY   r   rS  z<f8z>f8N)	r)   r_   r  hypotr'   r(   dictr.   r   )ra   rJ   r  r   r/   rK   rL   kwargss           r3   test_imshow_endianessr;    s    
		"A;;qDA
QAAll1a(OC#		JFJJqxx)&)JJqxx)&)r5   imshow_masked_interpolationx86_64r   )r9   r   r   c                  *   \         P                  R ,          P                  RRRR7      p ^p\        P                  ! ^ W,          ^,
          R7      p\
        P                  ! W,          \        R7      P                  W4      pRVR&   RVR&   \
        P                  VR&   \
        P                  ! V4      P                  R4      pR	VR&   \
        P                  P                  W44      p\        P                  ! ^^4      w  rV\!        \"        P$                  4      pVP'                  R
4       VP'                  R4       \)        WvP+                  4       4       F:  w  rV	P-                  V4       V	P/                  W2WR7       V	P1                  R4       K<  	  R# )r  r[  r]  r   r  r  r  r   g     j@r  Trr   antialiased)rG  rS  r   offNr\   r#   )rc  r!   )rc  rc  )r!   rc  )rv  	colormapsr'  r	   r  r)   r_   r  r  inf
zeros_liker   r(  r2  r'   r(   sortedr   	_interpd_removezipravelrI   r.   r   )
rS  Nr  r   maskr/   ax_gridinterpsinterprm   s
             r3    test_imshow_masked_interpolationrO    s/   
 ==#11s#31OD
Aaac!e,A99QS&..q4DDJ DK 66DL==%%f-DDK55d)D<<1%LCV%%&GNN6NN=!'==?3

V
		$T	@
 4r5   c                  Z    \         P                  ! ^^.^\        P                  ..4       R# )r$   N)r'   r.   r)   r1   r5   r3   test_imshow_no_warn_invalidrR    s    JJABFF$%r5   r   zu2 u4 i2 i4 i8 f4 f8c                    \         P                  ! R V R7      P                  R4      pV P                  R8w  d
   V^
,          pV^ 8  pV^8  pV P                  R8X  d
   V^,          p\        P
                  ! 4       w  rEVP                  V4      P                  4       pWb,          ^ 8H  P                  4       '       g   Q hV P                  R8X  dA   Wc,          ^8H  P                  4       '       g   Q hVP                  P                  R8X  g   Q hR# Wc,          ^8H  P                  4       '       g   Q hVP                  \         P                  8X  g   Q hR# )r  r   ufN)r   r   r&   )r)   r_   r  kindr'   r(   r.   	get_arrayallr   r-   )r   r   too_lowtoo_high_rm   outs   &      r3   $test_imshow_clips_rgb_to_valid_ranger]    s
    ))Cu
%
-
-k
:CzzSr	AgGSyHzzSCiLLNEA
))C.
"
"
$CLA""$$$$zzS"''))))yy~~$$$$))++++yyBHH$$$r5   zimshow_flatfield.pngc                      \         P                  ! 4       w  rVP                  \        P                  ! R4      RR7      pVP                  RR4       R# )r!   r=   r   r   r  Nr#   )r'   r(   r.   r)   r+   set_climr/   rm   r   s      r3   test_imshow_flatfieldra    s7    llnGC	2776?)	<BKKCr5   zimshow_bignumbers.pngc                      R \         R&   \        P                  ! 4       w  r\        P                  ! . RO. RO.\        P
                  R7      pVP                  V4      pVP                  ^ ^4       R# )r=   image.interpolationr   N)r$   rR   g   mB)r&   r$   r"   )r   r'   r(   r)   rH   uint64r.   r_  r/   rm   r2   pcs       r3   test_imshow_bignumbersrg    sP    &/H"# llnGC
((L),BII
>C	3BKK1r5   zimshow_bignumbers_real.pngc                      R \         R&   \        P                  ! 4       w  r\        P                  ! . RO. RO.4      pVP                  V4      pVP                  ^ ^4       R# )r=   rc  N)r  r   gMD)r  r   r  )r   r'   r(   r)   rH   r.   r_  re  s       r3   test_imshow_bignumbers_realri    sL     '0H"# llnGC
((O\2
3C	3BKK1r5   	make_normc                  .    \         P                  ! ^4      # r$   )r	   
SymLogNormrQ  r5   r3   <lambda>rn    s    Vq!r5   c                  .    \         P                  ! ^4      # rl  )r	   	PowerNormrQ  r5   r3   rn  rn    s    Va r5   c                    \         P                  ! 4       w  r\        P                  ! \        R R7      ;_uu_ 4        VP                  . .V ! 4       R7      pRRR4       XP                  . RO4       VP                  P                  4        \        P                  ! \        4      ;_uu_ 4        VP                  VP                  P                  4       4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)z.Attempting to set identical low and high xlimsr  rG  N)r!   rs  r!   )r'   r(   r8  warnsUserWarningr.   
set_extentr  r  r9  RuntimeError
make_imageget_renderer)rj  r/   rm   r   s   &   r3   test_empty_imshowrz    s     llnGC	kL
N 
NYYt)+Y.
N MM.!JJOO	|	$	$
cjj--/0 
%	$
N 
N 
%	$	$s   C!-*C4!C1	4D	c                      \         P                  ! 4       w  rVP                  \        P                  ! R\        P
                  R7      4       V P                  P                  4        R# )r&   r   Nrr  )r'   r(   r.   r)   r*   float16r  r  r/   rm   s     r3   test_imshow_float16r~  #  s8    llnGCIIbhhvRZZ01JJOOr5   c                     \         P                  ! 4       w  rVP                  \        P                  ! R\        P
                  R7      4       \        P                  ! \        P
                  \        P                  R4      '       d   \        4       M\        P                  ! \        4      ;_uu_ 4        V P                  P                  4        RRR4       R#   + '       g   i     R# ; i)r&   r   equivNrr  )r'   r(   r.   r)   r*   
longdoublecan_castfloat64r   r8  rt  ru  r  r  r}  s     r3   test_imshow_float128r  *  s    llnGCIIbhhvR]]34R]]BJJHH)+||K() ) 	

) ) ) )s   3CC)	c                      \         P                  ! 4       w  rVP                  \        P                  ! R R.RR ..\
        R7      4       R# )TFr   N)r'   r(   r.   r)   rH   r  r}  s     r3   test_imshow_boolr  3  s3    llnGCIIbhhut}5TBCr5   c                      \         P                  ! 4       w  rVP                  \        P                  ! R\        P
                  4      4       V P                  P                  4        R# )r   Nr  )r'   r(   r.   r)   r   r1  r  r  r}  s     r3   test_full_invalidr  8  s8    llnGCIIbggh'(JJOOr5   zfmt,countedzcomposite_image,countc                 D   \         P                  ! \         P                  ! R^^4      \         P                  ! R^^4      4      w  rE\         P                  ! V^,          4      p\        P
                  ! 4       w  rxVP                  ^ ^4       VP                  V. ROR7       VP                  VRRR1,          . ROR7       V\        P                  R&   \        P                  ! 4       p	VP                  WR7       V	P                  4       P                  V4      V8X  g   Q hR# )	r!   r   Nzimage.composite_imager   rs  r   r$   r   r$   r\   )rR   r&   r   r$   )r)   r  r_   r`   r'   r(   r   r.   r   rh   ri   rj   r  count)
r   countedcomposite_imager  rJ   r  r   r/   rm   r   s
   &&&&      r3   test_compositer  ?  s     ;;ryyQ*BIIb!Q,?@DA
qAvAllnGCKK1IIaI%IIa"glI+,;CLL()
**,CKKK <<>(E111r5   c                      \         P                  ! 4       w  rVP                  ^ ..RR7       VP                  4        VP	                  4        VP                  4       VP                  4       u;8X  d	   R8X  g   Q h Q hR# )r   r   Nr  rs  )r'   r(   r.   relim	autoscaleget_xlimget_ylimr}  s     r3   
test_relimr  R  sZ    llnGCIIseLI)HHJLLN;;=BKKM3V33333r5   c                     \         P                  ! 4       w  rVP                  4        VP                  ^ ^ .^ ^ ..RRRRR7      pVP	                  RRR7       V P
                  P                  4        \        P                  ! V P
                  P                  4       4      R	,          ^ 8H  P                  4       '       g   Q hR# )
r   rr   rR  F)r  r   rS  r  r}  NrU  rs  ).r   )r'   r(   r  r.   r  r  r  r)   rH   buffer_rgbarX  r`  s      r3   test_unclippedr  Z  s    llnGCOO	QFQF#F;M 
 
/BFFVF$JJOO HHSZZ++-.w71<AACCCCr5   c                  `   \         P                  ! ^4      w  rV F  pVP                  4        K  	  V^,          P                  ^ ^.^^..RRR7      pVP	                  R4       VP                  V^ ,          P                  4       \        P                  ! 4       pV P                  VRR7       0 VP                  4       m^08X  g   Q hV^,          P                  RR7       \        P                  ! 4       pV P                  VRR7       VP                  4       VP                  4       8w  g   Q hR# )	rR   rr   )r  r   Nrgbar   )r  r  )r\   r   )r'   r(   r  r.   r#  set_clip_boxbboxrh   ri   rj   r  r  )r/   r   rm   r   
buf_before	buf_afters         r3   test_respects_bboxr  f  s    ||AHC
 	QAA'|	LBT OOCFKK JKK
6K*#Z  "#v---FJJGJ

IKK	&K) I$6$6$8888r5   c                     \         P                  ! 4       w  rVP                  \        P                  ! R4      4      p\        P
                  P                  ^ .R.R7      pVP                  V4      R8X  g   Q h\        P
                  P                  ^ .R.R7      pVP                  V4      R8X  g   Q h\        P                  pVP                  V4      R8X  g   Q hR# )	r"   TrK  r  Fz[0]z[nan]N)r"   r"   )	r'   r(   r.   r)   r*   r(  r2  r  r1  )r/   rm   r   r   s       r3   test_image_cursor_formattingr  x  s    llnGC	288F#	$B55qc/D  &$...55qc0D  &%///66D  &'111r5   c                   \         P                  ! ^ ^4      p\         P                  ! W"4      w  r4\         P                  ! RVR,
          ^,          ,          VR,
          ,           4      pWUP	                  4       ,          p\
        P                  R,          pV P                  4       pVP                  WVVRR7       VP                  4       pV! \        P                  ! 4       ! V4      4      p	WiR	&   VP                  V	RR7       R# )
zPer-pixel alpha channel test.r   r  r=   )r   rS  r   r   Nr  g[(\?).r\   )r)   r  r  r  r  rv  rB  ru  r.   r	   r  )
rz   r{   ra   xxyyzzr   rS  rm   r  s
   &&        r3   test_image_array_alphar    s     	AqA[[FB	SQ'2=9	:BME==#D				BIIbD	IB				B  "2&'DMIId)I,r5   c                      \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! \
        P                  ! R4      ^^.R7       RRR4       R#   + '       g   i     R# ; i)zalpha must be a float, two-dr  r   Nr[   )r8  r9  r:  r'   r.   r)   r*   rQ  r5   r3   !test_image_array_alpha_validationr    s?    	y(F	G	G

288F#Aq62 
H	G	G	Gs   /AA/	c                     \        \        P                  R ,          4      p V P                  RR7       \        P
                  ! R	^dR7      pVP                  . R
O4      p\        P                  ! . RO.\        R7      pVP                  VRV ^ ^dR7      pVP                  R4       VP                  P                  4        VP                  VP                  P                  4      ^ ,          ^ ,          pVP!                  VP#                  V^..^
,          ,          P$                  P'                  4       4      4      ^,          P)                  \*        4      p\        P,                  ! WV8H  4      '       g   Q hR# )autumn_r	lightgrey)colorrS   r   rr   )r  rS  r  r  rA  N)gffffff?ri  rs   )r\   r\   r\   r   r   r   r   +   O   _   B   r$   r\   r\   r\   r   r   r   "   )r   rv  rB  	set_underr'   r]   rW  r)   rH   r  r.   r   r  r  rx  r  rS  rG  TrI  r   rw   rX  )rS  r/   rm   r   r   
from_imagedirect_computations          r3   test_exact_vminr    s   j)*DNNN% **ZS
1C	l	#B88	MND
 
4T	DBGGENJJOO szz223A6q9J 	1#,//55789C?fSk 
 66*23333r5   image_placementc            	     V   \         P                  ! 4       w  rVP                  . R	O. R
ORRR7       \        P                  P                  R4       VP                  \        P                  P                  ^^4      RRRR^R7       VP                  RR4       VP                  RR4       R# )zC
The red box should line up exactly with the outside of the image.
r[  ri  )r  r  rq   r  r   )rS  r   r   r  r  N)r   r   r$   r$   r   )r   r$   r$   r   r   r  r\   grh  )
r'   r(   rg   r)   rt   ru   r.   randnr   r   r}  s     r3   test_image_placementr    s~     llnGCGGO_CCG@IINN8IIbiioob"%GL"!  5KKeKKer5   c                   T   a a ] tR tRt oR tR tV 3R ltR t]R 4       t	Rt
VtV ;t# )
QuantityNDi  c                \    \         P                  ! V4      P                  V 4      pW#n        V# r  )r)   r  viewunits)clsinput_arrayr  objs   &&& r3   __new__QuantityND.__new__  s%    jj%**3/	
r5   c                *    \        VR R4      V n        R# r  N)getattrr  )selfr  s   &&r3   __array_finalize__QuantityND.__array_finalize__  s    S'40
r5   c                   < \        V R R4      p\        SV `	  V4      p\        V\        4      '       g   Ve   \	        W24      pV# r  )r  super__getitem__
isinstancer  )r  itemr  ret	__class__s   &&  r3   r  QuantityND.__getitem__  sA    gt,g!$'c:&&%*;S(C
r5   c                   \        W4      pR V9   d   \        # \        V4      ^8X  d6   V^ ,          p\        VRR4      pV! \        P                  ! V4      3/ VB pEMq\        V4      ^8X  Ed[   V^ ,          pV^,          p	\        VRR4      p
\        V	RR4      pV
f   TMT
p
Vf   T
MTpV\        P
                  \        P                  39   d   W8w  d   \        hT
pMV\        P                  8X  d	   V
 RV 2pMV\        P                  8X  d
   V
 RV R2pMjV\        P                  \        P                  \        P                  \        P                  \        P                  \        P                  39   d   RpM\        # V! VP!                  \        P"                  4      V	P!                  \        P"                  4      3/ VB pM\        # Vf   \        P$                  ! V4      pV# \'        W4      pV# )r\  r  dimensionlessN*z/())r  NotImplementedr   r)   r  addsubtractr  multiplydividegreatergreater_equalequal	not_equalless
less_equalr  ndarrayrH   r  )r  ufuncmethodinputsr:  funci0unitout_arri1u0u1s   &&&*,       r3   __array_ufunc__QuantityND.__array_ufunc__  s   u%F?!!v;!B2w8D2::b>4V4G[ABBWo6BWo6BzrBzrB--8$$"++%Qrd|"))#Rt1~2::r'7'788R\\77BMM3 3 %%2772::.

0CNvNG!!<hhw'G  !/Gr5   c                @    V P                  \        P                  4      # r  )r  r)   r  )r  s   &r3   r   QuantityND.v  s    yy$$r5   )r  )__name__
__module____qualname____firstlineno__r  r  r  r  propertyr   __static_attributes____classdictcell____classcell__)r  __classdict__s   @@r3   r  r    s3     
1%N % % %r5   r  c                  t   \        ^^.R4      p V R,          w  r\        P                  ! V P                  \        P                  ! ^^.4      8H  4      '       g   Q hV P
                  R8X  g   Q h\        P                  ! W,           P                  \        P                  ! ^.4      8H  4      '       g   Q hW,          P
                  R8X  g   Q hW!,          P
                  R8X  g   Q h\        P                  ! \        4      ;_uu_ 4        V\        ^R4      ,            RRR4       R#   + '       g   i     R# ; i)r$   mrZ   zm*mzm/(m)sN)	r  r)   rX  r   r  r  r8  r9  r  )qq0q1s      r3   test_quantityndr     s    Aq63AqTFB66!##QF++,,,,77c>>6627++QC01111G??e###G??g%%%	z	"	"
Z3 
#	"	"	"s   D&&D7	c                      \        \        P                  ! R4      R4      p \        P                  ! 4       w  rVP                  V 4       VP                  P                  4        R# )rR   r  Nr[   )r  r)   r+   r'   r(   r.   r  r  )r   r/   rm   s      r3   test_imshow_quantityndr    s<    
RWWV_c
*CllnGCIIcNJJOOr5   c                    \         P                  ! R^\         P                  R7      pRVR&   \         P                  P	                  VRR7      pRVP
                  R&   \        P                  R,          P                  RR7      pV P                  4       pVP                  V\        P                  ! R^R	7      RR
VR7      pVP                  \        P                  ! R^R	7      4       VP                  V\        P                  ! R^R	7      RR
VR7      pVP                  \        P                  ! R^R	7      4       VP                  RRR7       VP                  4       pVP                  V\        P                  ! R^R	7      RR
VR7       VP                  V\        P                  ! R^R	7      RR
VR7       VP                  RRR7       R# )r!   r   Fr  Tr  wr  r   r?  r=   )rG  r   r   rS  r}  Nr#   r\   r   rR   NrZ   )r  r  r+  r  )r!   r   r!   r   r   r   )r)   r   r  r(  rH   rK  rv  rB  r'  r(   r.   r	   rI  r  r  r  )rz   r{   r   masked_datarS  rm   r   s   &&     r3   test_norm_changer
     s{    7761BJJ/DDL%%++d+/K!%KX==#111<D				B	4fnn#A>&id 
 
LBKK  bq12	;V^^1%E(	 
 
NBKK  bq12FFgF&				BIId))r:!  GIIk 0 0bq A#94  IFFgF&r5   ra   c                 (   \         P                  ! RV\         P                  R7      pRVR&   V P                  4       pVP	                  V\
        P                  ! ^VP                  4       R7      RRR7       \         P                  ! RV\         P                  R7      pRVR&   VP                  4       p\        P                  R,          P                  RR	7      pVP	                  V\
        P                  ! ^VP                  4       R7      RVR7       R
# )r!   r   g@xDr?  r=   r  )rG  r   rS  i  r  r  Nr#   r  )r)   r   r  r(   r.   r	   rI  r  rv  rB  r'  r  )rz   r{   ra   r   rm   rS  s   &&&   r3   test_huge_range_logr  <  s     7761BJJ/DDL				BIIdQTXXZ@%I  7 7761BJJ/DDL				B==#111<DIId))qtxxzB%D  2r5   c                    V P                  ^^4      pVP                  ^^4      p^^.^^..^ ^ .^ ^ ..^ ^.^^ ..3p. ROp\        \        WE4      4       EFr  w  pw  rxW&,          P                  V4       W&,          P	                  V4       W6,          P                  V4       W6,          P                  VRRRR^ ^R7       W6,          P                  RR4       W6,          P                  RR4       W6,          P                  P                  4        W6,          P                  P                  R4       W6,          P                  P                  R4       W6,          P                  P                  \        P                  ! ^	. ROR	R
7      4       W6,          P                   P                  \        P                  ! ^	. ROR	R
7      4       EKu  	  R# )r$   r=   r  r   Greys)r   r  rY   rS  r  r  r  g?r  T)nbinsstepsintegerN)r+   r*   mixedr  )r$   rR   r!   r   )r(   	enumeraterH  rI   spyr.   r   r   xaxistick_toptitleset_yset_ticks_positionset_major_locatormtickerMaxNLocatoryaxis)	rz   r{   ax_testax_ref	plot_dataplot_titlesr  rc   r  s	   &&       r3   test_spy_boxr"  P  s    1%Ga#F Q!Q
Q!Q
Q!QI
 -K"3y#>?:A
U#
q	E"	)#*7!" 	 	, 		4%	3%	  "	d#	**62	))a}dK	
 		))a}dK	
 @r5   znonuniform_and_pcolor.pngc                     \         P                  ! R	R7      P                  ^RRR7      p \        V RR.4       F  w  r\	        WR7      pVP                  \        P                  ! ^4      ^,          \        P                  ! ^4      ^,          \        P                  ! ^	4      P                  R	4      4       VP                  V4       K  	  V ^,          P                  \        P                  ! ^4      ^,          \        P                  ! ^4      ^,          \        P                  ! ^	4      P                  R	4      4       V  F%  pVP                  4        VP                  R
R7       K'  	  R# )r&   rP  T)sharexshareyr=   r    r   )r~  Nrr  r  )r'   r]   r(   rH  r   r  r)   r_   r  r  
pcolorfastr  r  )r   rm   r   r   s       r3   test_nonuniform_and_pcolorr'  q  s    
**V
$
-
-aT
-
JC y*&=>R=
BIIaLA%ryy|q'8IIaL((0	2
R	 ?
 F
		!299Q<1,biil.B.B6.JL

G r5   znonuniform_logscale.pngc                     \         P                  ! ^^R7      w  r\        ^4       EF%  pW,          p\        V4      pVP	                  \
        P                  ! ^^4      ^,          \
        P                  ! ^^4      ^,          \
        P                  ! ^	4      P                  R4      4       VP                  ^^4       VP                  ^^4       VP                  ^4       V^8X  d'   VP                  R^R7       VP                  R^R7       V^8X  d'   VP                  R^R7       VP                  R^R7       VP                  V4       EK(  	  R# )r&   )ncolsnrowsr  )baseNrr  )r'   r(   rH  r   r  r)   r_   r  r   r   set_box_aspect
set_xscale
set_yscaler  )r[  r   r  rm   r   s        r3   test_nonuniform_logscaler/    s    \\+FA1XVR 
BIIaOq("))Aq/Q*>IIaL((0	2
Ar
Ar
!6MM%aM(MM%aM(6MM%aM(MM%aM(
R r5   zrgba_antialias.pngg{Gz?)r   r   r9   c            	      ^   \         P                  ! ^^RRRRR7      w  r^p\        P                  ! W"34      pRVR&   \        P                  ! V4      V,          R,
          p\        P                  ! V4      V,          R,
          p\        P
                  ! WE4      w  rg\        P                  ! V^,          V^,          ,           4      p^
p	^Kp
\        P                  ! \        P                  ^,          W,          W^,          ,          ^,          ,           ,          4      pRVR\        V^,          4      1R3,          VR\        V^,          4      1R3,          R8  &   ^VR\        V^,          4      1R3,          VR\        V^,          4      1R3,          R8  &   VR\        V^,          4      R13,          VR\        V^,          4      R13&   \        P                  VR&   R	VR&   RVR&   R	VR&   RVR&   \        \         P                  P                  4      pVP                  R
4       VP                  R4       VP!                  4       pV^ ,          P#                  VRVRRR7       V^ ,          P%                  V^,          ^,
          V^,          ^,           .4       V^ ,          P'                  V^,          ^2,           V^,          ^
,
          .4       V^,          P#                  VRVRRR7       V^,          P#                  VRRVRRR7       V^,          P#                  VRRVRRR7       R# )rR   FT)rT   r$  r%  constrained_layoutrZ   r   Nr  rj  g    .Ayellowcyanr=   r  )r   rS  r  r  rr   r   )r   interpolation_stagerS  r  r  r  )      @r5  r\   r  rZ   )   rC  Nr7  )F   Z   Nr9  g    .)r9  r8     N)r9        N)r<  r>  g333333)r'   r(   r)   r+   r_   r  sqrtr`   r   rw   r1  r   r&  RdBu_rset_overr  r  r.   r   r   )r/   r   rJ  aara   rb   rJ   r  Rf0r   r^  rS  s                r3   test_rgba_antialiasrG    s   ||Aq*U#(TCHCA	!BBvJ
		!q3A
		!q3A;;qDA
1q!tA	B
A
ruuqyBFQAX\123A .0Ais1Q3xilOAis1Q3xilOc)*-.Ais1Q3xilOAis1Q3xilOc)*C!HIBq#ac()| vvB|B|B|B~B~DMM(NN6
++-CFMM"IDt#MNFOOQqSVQqSV$%FOOQqSVQqSV$% FMM"IDt#MN FMM"F$S  2
 FMM"F$S  2r5   c                   \         P                  P                  R4       \         P                  P                  ^^4      pVP	                  4       pVP                  VRRRR7       V P	                  4       pVP                  VRRRR7       R# )zO
Show that interpolation_stage='auto' gives the same as 'data'
for upsampling.
r    r  r   r   rS  r4  rr   N*N,r)   rt   ru   rv   r(   r.   rz   r{   gridrm   s   &&  r3   !test_upsample_interpolation_stagerN    sz     IINN:99>>!QD				BIId*9"(  * 
			BIId*9"(  *r5   c                   \         P                  P                  R4       \         P                  P                  RR4      pVP	                  4       pVP                  VRRRR7       V P	                  4       pVP                  VRRRR7       R# )zQ
Show that interpolation_stage='auto' gives the same as 'rgba'
for downsampling.
rq   i  rr   r  r  rI  NrK  rL  s   &&  r3   #test_downsample_interpolation_stagerP    sz     IINN899>>$%D				BIId&y"(  * 
			BIId&y"(  *r5   c                     R F[  p \         P                  ! RV /4      ;_uu_ 4        \        P                  ! ^^..4      P	                  4       V 8X  g   Q h RRR4       K]  	  R FA  p \
        P                  ! \        4      ;_uu_ 4        V \         P                  R&   RRR4       KC  	  R#   + '       g   i     K  ; i  + '       g   i     Kl  ; i)r   zimage.interpolation_stageNr   r  )DATAfooN)	rv  
rc_contextr'   r.   get_interpolation_stager8  r9  r  r   )vals    r3   test_rc_interpolation_stagerX    s    ^^8#>??::1vh'??ASHHH @?   %]]:&&8;CLL45 '& % @?? '&&s   /B+	B?+B<?Cz<ignore:Data with more than .* cannot be accurately displayedzdim, size, msgc           
      V   V P                  4       pVP                  4       p\        P                  ! ^V^,           34      p^VRVP                  ^,          R13&   VR8X  d   VP                  pVP                  V^ ^RR
RVR7      p	\        P                  ! \        RV R2R	7      ;_uu_ 4        V P                  P                  4        RRR4       \        P                  ! R4      p^VR&   VR8X  d   VP                  pVP                  V^ ^RR
RVR7      p	R#   + '       g   i     LX; i)r$   rZ   Ncolrr   r   )r  r  r  r   r   rY   zData with more than z  cannot be accurately displayed.r  r  rt  )rZ   r$   )r(   r)   r*   sizer  r.   r8  rt  ru  r  r  )
rz   r{   dimr[  msgrY   r  r  rH   r   s
   &&&&&&    r3   test_large_imager^    s    !GFHHa]#E!"E!UZZ1_

e|	AA%l&,% 
 
'B
 
k23% 8. .
/ 
/ 	
/
 HHVEE$K
e|	u11V*%+$ 
 
&B
/ 
/s   -DD(	c           	         \         P                  P                  ^
^
4      R,          R,           pV P                  ^^4      pV^ ,          P	                  VRR7       V^,          P	                  VRRR7       V^,          P	                  VRR7       V^,          P	                  VRRR	R
7       V^,          P	                  VRRR	R
7       VP                  ^^4      pV^ ,          P	                  V\
        P                  ! 4       R7       V^,          P	                  V\
        P                  ! RR7      R7       V^,          P	                  V\
        P                  ! ^R7      R7       V^,          P	                  V\
        P                  ! ^RR	R7      R7       V^,          P	                  VRRR7       \        V^ ,          P                  ^ ,          P                  4      \
        P                  J g   Q h\        P                  ! \        4      ;_uu_ 4        V^ ,          P	                  VRR7       RRR4       R#   + '       g   i     R# ; i)r   g?ri  r  rr  r  )rG  r  symlogrj  r  )rG  r  r  logit)r  )	linthresh)rb  r  r  )rG  climfoobarN)rj  r  )r)   rt   rv   r(   r.   r	   rI  rm  typeimagesrG  r8  r9  r  )rz   r{   rw  axtsaxrss   &&   r3   test_str_normsri  $  s   
		r2#b(AQ"DGNN15N!GNN15rN*GNN18N$GNN18"2N6GNN17"N5Aq!DGNN16>>+N,GNN16>>r2N3GNN16,,q9N:GNN16,,qrKNLGNN17N2Qq!&&'6>>999	z	"	"Qqx( 
#	"	"	"s   H99I
	c                     \         P                  ! \        P                  P                  \        4       R 7      p \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R4      R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R4      \        P                  ! R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R4      \        P                  ! R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R4      \        P                  ! R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R4      \        P                  ! R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R\        P                  4      \        P                  ! R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V ! \        P                  ! R4      \        P                  ! R4      P                  4       RRR4       \        P                  ! R4      pR	VP                  n        \        P                  ! \        R
R7      ;_uu_ 4        V ! \        P                  ! R4      V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL=; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELP; i  + '       g   i     L; i  + '       g   i     R# ; i)r   zincompatible function argumentsr  Nzdifferent dimensionalitiesz3D input array must be RGBAz3D output array must be RGBAzmismatched typeszmust be C-contiguousFzOutput array must be writeable)r  r  )r  r  r"   )r  r  r&   )	functoolspartialrv  _imageresampler   r8  r9  r:  r)   r*   r  r-   r  flags	writeable)rn  r\  s     r3   test__resample_valid_outputrq  :  s+     !4!4
KH	y(I	J	J&!4( 
K	z)E	F	F&!288I#67 
G	z)E	F	F)$bhhv&67 
G	z)F	G	G)$bhhy&9: 
H	z)G	H	H)$bhhy&9: 
I	z);	<	<&"((+RXXf-=> 
=	z)?	@	@&!288F#3#5#56 
A ((6
CCII	z)I	J	J&!3' 
K	J# 
K	J	J	F	F	F	F	F	F	G	G	G	H	H	H	<	<	<	@	@
 
K	J	Jsa   M'2M2M+#2M?2NAN'<N;OM	M(	+M<	?N	N$	'N8	;O	O	c                     \         P                  ! 4       p \        V 4      p\        P                  ! \
        R R7      ;_uu_ 4        VP                  4        RRR4       \        P                  ! ^\        R7      P                  R4      pVP                  V4       VP                  4       R8X  g   Q hVP                  4       VP                  4       8X  g   Q hR#   + '       g   i     L; i)z"You must first set the image arrayr  Nr   r  )r'   r  r   r8  r9  rw  	get_shaper)   r_   r  r  r  get_sizer  s      r3   test_axesimage_get_shaperu  Q  s    	B	2B	|+O	P	P
 
Q
		"E"**62AKKN<<>V###;;=BLLN*** 
Q	Ps   CC(	c                     \         P                  ! 4       P                  4       p \        P                  ! ^4      P                  R4      pV P                  WP                  R7       V P                  4       R8X  g   Q hV P                  V\        4       P                  ^4      V P                  ,           R7       V P                  4       ^8X  g   Q hV P                  WP                  ^R7       V P                  4       ^8X  g   Q hR# )r"   r   rr   )r   r  Nr[   )r'   r]   ru  r)   r_   r  r.   r  
get_aspectr   r  r  r  s     r3   .test_non_transdata_image_does_not_touch_aspectrx  ]  s    		!	!	#B	1		f	%BIIbLLI)==?f$$$IIbHJ,,Q/",,>I?==?aIIbLLI3==?ar5   zdownsampling.pngg
ףp=
?c                     R p \         P                  ! V 4      V ,          R,
          p\         P                  ! V 4      V ,          R,
          p\         P                  ! W 34      pRVR&   \         P                  ! W4      w  rE\         P                  ! V^,          V^,          ,           4      p^p^dp\         P
                  ! \         P                  ^,          Wv,          W^,          ,          ^,          ,           ,          4      p	RV	R\        V ^,          4      1R3,          VR\        V ^,          4      1R3,          R8  &   ^V	R\        V ^,          4      1R3,          VR\        V ^,          4      1R3,          R8  &   V	R\        V ^,          4      R13,          VR\        V ^,          4      R13&   Tp	\        P                  ! ^^RRR7      w  rVR,          P                  V	RR	R
R7       VR,          P                  ^}^4       VR,          P                  ^^4       VR,          P                  R4       \        VP                  R,          . RO. RO4       F2  w  rpVP                  WVR
R7       VP                  RV RV R24       K4  	  R# )i  r   rZ   Nr  rj  
compressedrT   layoutr=   r  rB  )r   r4  rS  Zoom:r$   NNzinterpolation='z	'
space=''r\   r6  )r  r   r!  )r=   r=   hanningr  rr   )r   r  r   r  rr   )r)   r_   r+   r  rA  r`   r   rw   r'   r(   r.   r   r   rI   rH  flat)rJ  ra   rb   rD  rJ   r  rE  rF  r   r^  r/   r   rm   rN  spaces                  r3   test_downsamplingr  h  s    	A
		!q3A
		!q3A	!BBvJ;;qDA
1q!tA	
BA
ruuqyBFQAX\123A13Aks1q5zk1naQUQ'#-.12Aks1q5zk1naQUQ'#-.1c!a%jk>*Bq#a!e*+~
A||Aq&FHCIQiV"  $IsC IsC I " 0C!IKE 			!u 	 	!
vhjqABKr5   zdownsampling_speckle.pngc            	         \         P                  ! ^^RRRRR7      w  rVP                  4       p\        P                  ! R4      P                  R^4      \        P                  ! R4      ,          ^2,          P                  p\         P                  ! R4      pVP                  R4       \        P                  ! ^^R7      pV^ ,          P                  R	4       V^ ,          P                  \        P                  ! V4      W4R
R7       V^,          P                  R4       V^,          P                  \        P                  ! V4      W4R7       R# )r$   Trz  )rT   r$  r%  r|  i   i  r  r  r?  z"interpolation='auto', stage='rgba'r  )rS  rG  r4  z"interpolation='auto', stage='auto')rS  rG  N)r!   g@r\   )r'   r(   r  r)   r_   r  r+   r  get_cmaprC  r	   rI  rI   r.   triu)r/   r   r2   r&  rG  s        r3   test_downsampling_speckler    s     ||Aq(4#/1HC
++-CIIdO##B*RWWS\9b@
C
CC	i	 BKK>>qr*D
 F9:FMM"''#,RMO F9:FMM"''#,RM3r5   zupsampling.png)r   r   c                     \         P                  P                  R4       \         P                  P                  ^^4      p \        P
                  ! ^^RRR7      w  rV^ ,          P                  V RR7      pV^ ,          P                  R4       V^,          P                  V RRR7       V^,          P                  R4       V^,          P                  V RRR	R
7       V^,          P                  R4       VP                  W2RRR7       R# )rq   rz  r{  r  )rS  zAinterpolation='auto'
stage='antialaised'
(default for upsampling)sinc)rS  r   z:interpolation='sinc'
stage='auto'
(default for upsampling)r  )rS  r   r4  z!interpolation='sinc'
stage='rgba'r  r  )rm   shrinkr!  NrJ  )g      @r&   )	r)   rt   ru   rv   r'   r(   r.   rI   r  )r^  r/   r   r   s       r3   test_upsamplingr    s     IINN:
		q!A||Aq(<HHC	Qqy	)BFMO FMM!)6M:FFH FMM!)6vMVF9:LLCL7r5   ndimc                 H   \         P                  P                  R 4      pV^8X  d   RMRpVP                  VR7      P	                  \         P
                  ! V RR7      4      p\        P                  ! 4       w  rVVP                  V4      pVP                  R4      ^ ,           R# )iU  )r[  Tr   Nr[   )rR   rR   r&   )
r)   rt   default_rnguniformr   r   r'   r(   r.   rx  )r   r  rngr   r   r/   rm   
axes_images   &&      r3   test_resample_dtypesr    s{     ))


%CaiFYE;;E;"))"((5t*DEDllnGC4J$""r5   
intp_stagec                    V P                  ^^4      pVP                  ^^4      p^^reRp\        P                  P                  WV4      p\        P                  P                  WV^4      p	\        P                  ! WV^34      p
\        P
                  ! WP                  WV^34      3RR7      pV^ ,          ^ ,          P                  V	4       V^ ,          ^ ,          P                  \        P
                  ! W3RR7      4       V^ ,          ^,          P                  WVR7       V^ ,          ^,          P                  \        P
                  ! WV
,          3RR7      VR7       V^ ,          ^,          P                  WVR7       V^ ,          ^,          P                  WR7       V^,          ^ ,          P                  V4       V^,          ^ ,          P                  WR7       V^,          ^,          P                  WVR7       V^,          ^,          P                  \        P
                  ! WVP                  WV^34      ,          3RR7      VR7       \        P                  P                  WV4      pV^,          ^,          P                  WVR7       V^,          ^,          P                  \        P
                  ! WP                  WV^34      3RR7      VR7       R# )rR   r   r   )r4  r   )r4  r   Nr\   )r(   r)   rt   rv   r+   r   r  r.   )rz   r{   r  axs_tstaxs_refnynxscalar_alphaarray_alphaim_rgbim_concat_default_aim_rgbanew_array_alphas   &&&          r3   2test_interpolation_stage_rgba_respects_alpha_paramr    s[    1%Gq!$GL))..(K YY^^BA&F''21+.nn	$$ba[12G AJqM AJqM(EBOPAJqM|TAJqM
$778r	
)  
 AJqM{SAJqMA AJqM!AJqM3AJqMUAJqM
K$7$7$DDEB	
)  
 iinnR,OAJqMXAJqM
,,ba[9:	
)  r5   ))r!   rR   r  )r!   r!   r=   )r!   r   r=   )r&   r   r  )r&   g333333"@r=   )rP   r   r   r   )rP   r7   psepsr8   r\   g     ?r  )r&   rR   )r  s    colorimage)r8   s   <image)Tr$   )FrR   )rP   )rowi   z2\*\*23 columns)rZ  i   z2\*\*24 rows)r  float32int16r   int8r-   )rR   r&   rR  )
contextlibr   r   rk  rh   r   pathlibr   r  r  urllib.requestr  numpyr)   numpy.testingr   PILr   
matplotlibrv  r	   r
   r   r   r   r'   r   r   matplotlib.imager   r   r   r   r   matplotlib.testing.decoratorsr   r   matplotlib.transformsr   r   r   matplotlib.tickertickerr  r8  r4   rM   markparametrizere   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   contextr   r  r  r1  r  r&  r0  r4  r<  r@  rD  rN  r_  re  ro  rx  r  r  r  r  r  r  r  r  r  r  r_   r  r  r  r  r  r  r  r  r-  r3  r6  r;  machinerO  rR  splitr   r]  ra  rg  ri  r  rI  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r
  r  r"  r'  r/  rG  rN  rP  rX  filterwarningsr^  ri  rq  ru  rx  r  r  r  r  r  )r  s   0r3   <module>r     s       	 	   
   ,  F F< < O A A #  %&D9	. :	. +,##U^?+?+  ,udm<:,E5>:B ; =B ' (. ). ( )" (	) )	)$$  >?- @-D, GW#56@ 7@  BCA DA*2)4 =/t46 56 7( ) 0D+N 	3Z	3Z	3Z	3Z	3Z#Y	2Y	& 
P
P* %.	=),#661a.	4 g,/0r(Xa&8DD <.0 1 #$G4 5 ( ) ,-4@I AI =/tO PF8 /0"'33 *+> ?4 (% )% $%#U^WN!N!: ()t7K L0 GF 34"'33!'0-- 		2		"ryy~'='=f'E	G		2		"ryy}'<'<V'D	F11B $%48 9 >"5 66	%3( ./TsK> L>> <.d3+ 4+" )*=
* >
* 01#++-9at"'33D& #9#?#?#AB#Aabhhqk#ABD%D%& )*GL M *+WM N /0"'33 ^^! "#	1#	1D
 02DEG09j2IJ2 KG2 4	D9$2 - -$3
 74 48 $%5%."'3
3
"9% 9%x	  (' )'6 r1g&(2 ) '2$ (
 )
@ ./w? @ ,-W= >( '(TtT22 U22j 	** +*& 	** +*$<  = >GW#569689 	*& +9 7>&> () ))*(.	+  TtECECB  TtM4M4* g49898* > (	# )	
	# '78)  9)[ Cs   _6
