
    IR-e                     4    d dl Zd dlmZ  G d d          ZdS )    N)fitsc                   P    e Zd ZddddgddgddgdddfdZd Zed             ZdS )	SimModelTAB         )PC1_1PC2_2c                 v    |dk    r|dk    sJ || _         || _        || _        || _        || _        || _        d S )N   r   )nxnycrpixcrvalcdeltpc)selfr   r   r   r   r   r   s          8lib/python3.11/site-packages/astropy/wcs/tests/helper.py__init__zSimModelTAB.__init__   sG     Avv"q&&&&


    c                    d| j         dz  z   }t          j        d||| j         dz   g          }t          j        d| j        dz   g          }| j        d         | j        d         || j        d         z
  z  z   }| j        d         | j        d         || j        d         z
  z  z   }t          j        g d          }t          j        ddg          }t          j        |          }|d d df         }	|d d df         }
|	|d         k     |
|d         k     z  |	|d         k    z  |
|d         k    z  }t          j        |          }d|	|k    	                    t                    z  }| j        d         | j        d         |	| j        d         z
  z  z   }| j        d         | j        d         |
| j        d         z
  z  z   }|||         z
  ||dz            ||         z
  z  }||d         z
  |d         |d         z
  z  }||         |||dz            ||         z
  z  z   }|d         ||d         |d         z
  z  z   }t          j        ||g          d         S )	Nr      r   g        gp=
ף?g?g      ?            ?r   )r   nparrayr   r   r   r   
atleast_2dlogical_notastypeintdstack)r   xyxbpxpyxiyicxcyxymbadmgoodipsixpsiycfxcfyradecs                       r   fwd_evalzSimModelTAB.fwd_eval   s6   AXq"b$'A+.//Xq$'A+&''Z]TZ]b4:a=.@AAZ]TZ]b4:a=.@AAX+++,,XtSk""]2qqq!tHqqq!tHBqE	a"Q%i(A2J71r"v:Ft$$R$$$z!}tz!}DJqM0ABBz!}tz!}DJqM0ABBbe|1q5	BqE 12be|11.USBq1uI1-..ecRURU]++y"c##A&&r   c                    t          j        g dg dg          }t          j        g dg dg          }t          j        ||g          }d| j        dz  z   }t          j        d||| j        dz   g          }t          j        d| j        dz   g          }| j        d         | j        d         || j        d         z
  z  z   }| j        d         | j        d         || j        d         z
  z  z   }t          j        |||fgdt           j        |j	        fdt           j
        |j        ffd	t           j
        |j        ffg
          }	t          j        |	          }
d|
j        d<   t          j        | j        | j        ft           j        
          }t          j        |          }d|j        d<   d|j        d<   | j        |j        d<   | j        |j        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   | j        d         |j        d<   | j        d         |j        d<   | j        d         |j        d<   | j        d         |j        d <   | j        d         |j        d!<   | j        d         |j        d"<   d|j        d#<   d	|j        d$<   | j                                        D ]\  }}||j        |<   t          j        ||
g          }|S )%zgSimulates 2D data with a _spatial_ WCS that uses the ``-TAB``
        algorithm with indexing.
        r   )r   r   r   r   )r   r   r   r   r   r   r   
wavelengthr(   r)   )dtypez	WCS-TABLEEXTNAMEzRA---TABctype1zDEC--TABctype2naxis1naxis2PS1_0PS2_0PS1_1PS2_1PV1_3r   PV2_3degCUNIT1CUNIT2CDELT1CDELT2CRPIX1CRPIX2CRVAL1CRVAL2PS1_2PS2_2)r   r   r#   r   r   r   r   r   float64shapedoublesizer   BinTableHDUheaderonesfloat32
PrimaryHDUr   itemsHDUList)r   r,   r-   cr%   r&   r'   r(   r)   arrbt
image_datapukvhdulists                   r   rc   zSimModelTAB.hdulist9   s    H+++-B-B-BCDDH...0D0D0DEFFIq!f AXq"b$'A+.//Xq$'A+&''Z]TZ]b4:a=.@AAZ]TZ]b4:a=.@AA hR[Mrz173ry27*-ry27*-
 
 
 c""*	) Wdgtw/rzBBB
_Z(((	((	("g	("g	((	'(	')	')	'	'	'#	(#	("jm	("jm	("jm	("jm	("jm	("jm	(!	'!	'GMMOO 	 	DAqBIaLL,Bx((r   N)__name__
__module____qualname__r   r7   propertyrc    r   r   r   r      sz         !f!f!f##   $' ' '> : : X: : :r   r   )numpyr   
astropy.ior   r   rh   r   r   <module>rk      s_             m m m m m m m m m mr   