
    tfy                         d dl ZddZd Zy)    Nc                     d| j                   v r| j                   d   }nddg}d| j                   v r| j                   d   }n| d   d   d   j                  }||| d   D cg c]  }t        |       c}ddd	S c c}w )
Nzmin-posr   zmax-posresolutions1valuesfalse   )min_posmax_posr   mirror_tilesbins_per_dimension)attrsshapeint)fboundsr	   r
   rs        `/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/clodius/tiles/mrmatrix.pytileset_infor      s    AGG'')$a&AGG'')$M"3'177 ()-(891A9!  :s   A8c                 
   t        t        t        | d   j                                     ddd   }t	        |       }|d   }|t        |      k\  rt        d|d|      |d   }||z  }||z  }	||z   }
|	|z   }| d   t        ||            d   }||	|||
f   }||j                  d   z
  }||j                  d	   z
  }|dkD  s|dkD  r=t        j                  |d|fd|ffd
t        j                  t        j                  f      }|S )a  
    Return tiles for the given region.

    Parameters:
    -----------
    f: h5py.File
        File pointer to the hdf5 file containing the matrices
    z: int
        The zoom level
    x: int
        The tile's x position
    y: int
        The tile's y position
    r   Nr   zZoom level out of bounds:zresolutions:r   r      constant)constant_values)sortedmapr   keysr   len
ValueErrorstrr   nppadnan)r   zxyr   tsinfon_bins
tile_widthtile_x_starttile_y_start
tile_x_end
tile_y_endmatdatax_pady_pads                   r   tilesr1      s4    S!M"2"7"7"9:;DbDAK!_F()FC4aUU,-J z>Lz>L&J&J
M
3{1~.
/
9C|J&Z(??@DTZZ]"ETZZ]"EqyEAIvvAu:5z*JQSQWQWHX
 K    )N)numpyr    r   r1    r2   r   <module>r5      s    (*r2   