
    IR-e                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d dlmZ d	 Zd
 Zd Zd Zej                            d          d             Z G d dej                  Zd Zd Zd Z d Z!dS )    N)assert_array_almost_equal)wcs)fits)get_pkg_data_contentsget_pkg_data_filenameget_pkg_data_fileobj)AstropyDeprecationWarning)NumpyRNGContext)FITSFixedWarningc                  |    t          j                    } t          j        |           }t          j        |           d S )N)r   WCSpickledumpsloads)wcs1ss     =lib/python3.11/site-packages/astropy/wcs/tests/test_pickle.py
test_basicr      s-    799DTA
LOOOOO    c                     t          t          j                            dd          d          5 } t	          j        |           }t          j        t                    5  t          j
        |d         j        |          }d d d            n# 1 swxY w Y   |j        J t          j        |          }t          j        |          }t!          d          5  t"          j                            d|j	        j                  }|                    |d          }|                    |d          }d d d            n# 1 swxY w Y   t-          ||           d d d            d S # 1 swxY w Y   d S )	Ndataz	dist.fitsbinaryencodingr   [      )r   ospathjoinr   openpytestwarnsr	   r   r   headerdet2im2r   r   r   r
   nprandomrandnaxisall_pix2worldr   	test_filehdulistr   r   wcs2xworld1world2s           r   	test_distr2      s   	
V[))H
 
 
 2	)I&&\344 	7 	7771:,g66D	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7|'''L|AY'' 	. 	.	udhn55A''1--F''1--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
 	"&&111#2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s[   .E!!B?E!B	E!B	AE!AD9-E!9D=	=E! D=	E!!E%(E%c                     t          t          j                            dd          d          5 } t	          j        | d          }t          j        t                    5  t          j
        |d         j                  }d d d            n# 1 swxY w Y   |j        J t          j        |          }t          j        |          }t!          d          5  t"          j                            d	|j	        j                  }|                    |d
          }|                    |d
          }d d d            n# 1 swxY w Y   t-          ||           d d d            d S # 1 swxY w Y   d S )Nr   zsip.fitsr   r   Tignore_missing_endr   r   r   r   r   r   r   r    r   r!   r"   r#   r   r   r   r$   sipr   r   r   r
   r&   r'   r(   r)   r*   r   r+   s           r   test_sipr8   1   s    	
VZ((8
 
 
 2	)I$???\*++ 	. 	.771:,--D	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.x###L|AY'' 	. 	.	udhn55A''1--F''1--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
 	"&&1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2[   0E"  B E"B	E"B	AE"AD:.E":D>	>E"D>	E""E&)E&c                     t          t          j                            dd          d          5 } t	          j        | d          }t          j        t                    5  t          j
        |d         j                  }d d d            n# 1 swxY w Y   |j        J t          j        |          }t          j        |          }t!          d          5  t"          j                            d	|j	        j                  }|                    |d
          }|                    |d
          }d d d            n# 1 swxY w Y   t-          ||           d d d            d S # 1 swxY w Y   d S )Nr   z	sip2.fitsr   r   Tr4   r   r   r   r   r6   r+   s           r   	test_sip2r;   D   s    	
V[))H
 
 
 2	)I$???\*++ 	. 	.771:,--D	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.x###L|AY'' 	. 	.	udhn55A''1--F''1--F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
 	"&&1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2r9   zignore:PV2_2c                     t          t          j                            dd          d          } t	          j        |           }t          j        |          }t          j        |          }t          d          5  t          j                            d|j        j                  }|                    |d          }|                    |d          }d d d            n# 1 swxY w Y   t          ||           d S )Nr   zoutside_sky.hdrr   r   r   r   r   )r   r   r   r    r   r   r   r   r   r
   r&   r'   r(   r)   r*   r   )r$   r   r   r.   r/   r0   r1   s          r   test_wcsr=   X   s   "
V.//(  F 76??DTA<??D		#	# * *INN5$(.11##Aq))##Aq))* * * * * * * * * * * * * * *
 ff-----s   ;ACC"%C"c                        e Zd Z fdZ xZS )Subc                 H     t                      j        |i | d| _        d S )N*   )super__init__foo)selfargskwargs	__class__s      r   rC   zSub.__init__k   s*    $)&)))r   )__name__
__module____qualname__rC   __classcell__)rH   s   @r   r?   r?   j   s8                r   r?   c                      t                      } d| _        t          j        |           }t          j        |          }t          |t                     sJ | j        dk    sJ |j        dk    sJ |j        J d S )N-   )r?   rD   r   r   r   
isinstancer   )r   r   r.   s      r   test_subclassrP   p   sv    55DDHTA<??DdC     8r>>>>8r>>>>8r   c                     t          j        d          } g d| _        d| _        d| _        t          j        t          j        |                     }| j        |j        k    sJ | j        |j        k    sJ | j        |j        k    sJ | j	        
                                D ]\  }}t          ||          |k    sJ d S )N   )r)   )d      i,  ))      )!   rN   )7   C   o   )r   r   pixel_shapepixel_boundsextrar   r   r   r)   __dict__itemsgetattr)ww2kvs       r   test_axes_infore   |   s    aA#OOAM3ANAG	fl1oo	&	&B 7bh=BN****>R_,,,, 
  "" # #1r1~~"""""# #r   c                  4   t          d          } t          j                            |           }t	          j        t          j                  5  t          j        |ddgddg          }ddd           n# 1 swxY w Y   t	          j        t          j                  5  t          j
        t          j        |                    }ddd           n# 1 swxY w Y   |j        dk    sJ t          |j        j                  d	d
gk    sJ t          j        |j        j        ddg          sJ t          j        |j        j        ddgddgg          sJ t          j        |j        j        ddg          sJ t          j        |j        j        d          sJ dS )zS
    Test selection of a specific pixel list WCS using ``colsel``. See #11412.
    zdata/chandra-pixlist-wcs.hdrimagepixelrU      )keyselcolselN   zRA---TANzDEC--TANg6-l@g}gMr   r   g>B!g>B!?g     f@)r   r   Headerfromtextfiler"   r#   r   r   r   r   r   r   r)   listctyper&   allclosecrvalpccdeltlonpole)hdr_filehdrw0ra   s       r   test_pixlist_wcs_colselry      s    %%CDDH
+
"
"8
,
,C	c*	+	+ F FWS'7!3RHEEEF F F F F F F F F F F F F F F 
c*	+	+ + +Lb))**+ + + + + + + + + + + + + + + 7a<<<<Z 88888;qu{_o$FGGGGG;qux1a&1a&!122222;qu{%9;N$OPPPPP;qu}e,,,,,,,s$   A55A9<A9'CCCc                      t          j        d          } t          j        t          j        |                     }|j         j        dk    sJ d S )NA)key)r   r   r   r   r   alt)ra   rb   s     r   test_alt_wcskeyr~      sF    CA	fl1oo	&	&B6:r   )"r   r   numpyr&   r"   numpy.testingr   astropyr   
astropy.ior   astropy.utils.datar   r   r   astropy.utils.exceptionsr	   astropy.utils.miscr
   astropy.wcs.wcsr   r   r2   r8   r;   markfilterwarningsr=   r   r?   rP   re   ry   r~    r   r   <module>r      s   
			       3 3 3 3 3 3                     
 ? > > > > > . . . . . . , , , , , ,  2 2 2*2 2 2&2 2 2( O,,. . -,."    #'   	  	  	 # # #$- - -(    r   