
    a6d                     L    d dl Zd dlZd dlmZmZmZmZ d Zd Z	d Z
d Zd ZdS )    N)intersection_coeffmanders_coloc_coeffmanders_overlap_coeffpearson_corr_coeffc                  	   t          j        d t          d          D                       } t          j        d          }t          j        d t          d          D                       }t          j        d t          d          D                       }t	          j        t          d          5  t          | | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | | |           d d d            n# 1 swxY w Y   t	          j        t          d	          5  t          | | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | |           d d d            n# 1 swxY w Y   t	          j        t          d	          5  t          | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | | d
k    |           d d d            n# 1 swxY w Y   t	          j        t          d	          5  t          | | d
k    |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | | |           d d d            n# 1 swxY w Y   t	          j        t          d	          5  t          | | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | dk    |dk    |           d d d            n# 1 swxY w Y   t	          j        t          d	          5  t          | |           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          | dk    | dk    |           d d d            n# 1 swxY w Y   t	          j        t          d	          5  t          | dk    | dk    |           d d d            d S # 1 swxY w Y   d S )Nc                 F    g | ]fd t          d          D             S )c                     g | ]}|z   S  r
   .0jis     Ilib/python3.11/site-packages/skimage/measure/tests/test_colocalization.py
<listcomp>z1test_invalid_input.<locals>.<listcomp>.<listcomp>	       ...a!e...       ranger   r   s    @r   r   z&test_invalid_input.<locals>.<listcomp>	   4    AAA1....U1XX...AAAr   r   )         c                 @    g | ]}d  t          d          D             S )c                     g | ]}|d k    	S    r
   r   s     r   r   z1test_invalid_input.<locals>.<listcomp>.<listcomp>   s    ///a1f///r   r   r   r   _s     r   r   z&test_invalid_input.<locals>.<listcomp>   s-    BBBA//eAhh///BBBr   r   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d S )   r
   )r   __s     r   r   z1test_invalid_input.<locals>.<listcomp>.<listcomp>   s     6 6 6r 6 6 6r   r   r   r   s     r   r   z&test_invalid_input.<locals>.<listcomp>   s-    III1 6 6U1XX 6 6 6IIIr   z. must have the same dimensions)matchz. array is not of dtype booleanr   r#   r   )nparrayr   onespytestraises
ValueErrorr   r   r   r   )img1img2masknon_binary_masks       r   test_invalid_inputr0      s   8AAaAAABBD79D8BBqBBBCCDhIIaIIIJJO	z)J	K	K	K - -4t,,,- - - - - - - - - - - - - - -	z)J	K	K	K ' '4&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '	z)J	K	K	K - -4t,,,- - - - - - - - - - - - - - -	z)J	K	K	K 8 847778 8 8 8 8 8 8 8 8 8 8 8 8 8 8	z)J	K	K	K ( (D$'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (	z)J	K	K	K 3 3D/2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3	z)J	K	K	K 2 2D$(D1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	z)J	K	K	K = =D$(O<<<= = = = = = = = = = = = = = =	z)J	K	K	K 0 0dD$///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	z)J	K	K	K * *dD)))* * * * * * * * * * * * * * *	z)J	K	K	K 0 0dD$///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	z)J	K	K	K ; ;dD/:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	z)J	K	K	K 5 54!8TAXt4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5	z)J	K	K	K ' '4&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '	z)J	K	K	K 5 54!8TAXt4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5	z)J	K	K	K @ @4!8TAX???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s   1CCC5DDD8EEE<FF!F GG!$G!H  H$'H$I((I,/I,J00J47J4K44K8;K8L77L;>L;M;;M?M?!N??OO%PPP1QQQ4RR!R S''S+.S+c                     t          j        d t          d          D                       } t          | |           dk    sJ t          j        | dk    d|           }t           j                            t          | |          d           t          j        | dk    dd          }t           j                            t          | | |          t          | ||                     d S )Nc                 F    g | ]fd t          d          D             S )c                     g | ]}|z   S r
   r
   r   s     r   r   z'test_pcc.<locals>.<listcomp>.<listcomp>2   r   r   r   r   r   s    @r   r   ztest_pcc.<locals>.<listcomp>2   r   r   r   )g      ?g        r#   r   )gQ`<?g&c>r   )r&   r'   r   r   wheretestingassert_almost_equal)r,   r-   rois      r   test_pccr8   0   s    8AAaAAABBDdD))Z77778DAIq$''DJ""#5dD#A#ACnooo (419a
#
#CJ""#5dD##F#FHZ[_aegjHkHklllllr   c                  "   t          j        d t          d          D                       } t          j        d t          d          D                       }t          | |          dk    sJ t          j        | dk    d|           }|dz  }t          j        t                    5  t          ||           d d d            n# 1 swxY w Y   t          j        t                    5  t          ||           d d d            d S # 1 swxY w Y   d S )Nc                 @    g | ]}d  t          d          D             S )c                     g | ]}|S r
   r
   r   r   s     r   r   z'test_mcc.<locals>.<listcomp>.<listcomp>>   s    ***Aa***r   r   r   r   s     r   r   ztest_mcc.<locals>.<listcomp>>   s-    ===q**q***===r   r   c                 F    g | ]fd t          d          D             S )c                     g | ]}d k    	S r   r
   r   s     r   r   z'test_mcc.<locals>.<listcomp>.<listcomp>?   s    ///a1f///r   r   r   r   s    @r   r   ztest_mcc.<locals>.<listcomp>?   s4    AAA1////eAhh///AAAr         ?r          @)r&   r'   r   r   r4   r)   r*   r+   )r,   r.   img_negativeintimg_negativefloats       r   test_mccrD   =   s   8==E!HH===>>D8AAaAAABBDtT**c1111 htqy"d33O'#-	z	"	" 3 3OT2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3	z	"	" 5 5-t4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s$   %CC	C&DDDc                  R   t          j        d          } dt          j        d          z  }t          | |          dk    sJ t          j        | dk    d|           }|dz  }t	          j        t                    5  t          ||           d d d            n# 1 swxY w Y   t	          j        t                    5  t          | |           d d d            n# 1 swxY w Y   t	          j        t                    5  t          ||           d d d            n# 1 swxY w Y   t	          j        t                    5  t          | |           d d d            n# 1 swxY w Y   t	          j        t                    5  t          ||           d d d            d S # 1 swxY w Y   d S )N)r   r   r#   r   r@   rA   )r&   r(   r   r4   r)   r*   r+   )r,   r-   rB   rC   s       r   test_mocrF   K   s   76??DrwvD t,,1111 htqy"d33O'#-	z	"	" 5 5ot4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5	z	"	" 5 5dO4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5	z	"	" 7 7/6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	z	"	" 7 7d$56667 7 7 7 7 7 7 7 7 7 7 7 7 7 7	z	"	" D D/1BCCCD D D D D D D D D D D D D D D D D DsZ   :BBB;CCC<DD D=EE!E>FF #F c                  `   t          j        d t          d          D                       } t          j        d t          d          D                       }t          j        d t          d          D                       }t          | |          dk    sJ t          | |          dk    sJ d S )Nc                 @    g | ]}d  t          d          D             S )c                     g | ]}|d k    	S r   r
   r<   s     r   r   z<test_intersection_coefficient.<locals>.<listcomp>.<listcomp>`   s    444a16444r   r   r   r   s     r   r   z1test_intersection_coefficient.<locals>.<listcomp>`   s-    GGG44588444GGGr   r   c                 F    g | ]fd t          d          D             S )c                     g | ]}d k    	S r   r
   r   s     r   r   z<test_intersection_coefficient.<locals>.<listcomp>.<listcomp>a   s    444a16444r   r   r   r   s    @r   r   z1test_intersection_coefficient.<locals>.<listcomp>a   s4    GGG4444588444GGGr   c                 @    g | ]}d  t          d          D             S )c                     g | ]}d S r   r
   r<   s     r   r   z<test_intersection_coefficient.<locals>.<listcomp>.<listcomp>b   s    ///1///r   r   r   r   s     r   r   z1test_intersection_coefficient.<locals>.<listcomp>b   s-    BBBA//eAhh///BBBr   r?   r   )r&   r'   r   r   )	img1_mask	img2_mask	img3_masks      r   test_intersection_coefficientrQ   _   s    GGeAhhGGGHHIGGeAhhGGGHHIBBqBBBCCIi33s::::i33q888888r   )numpyr&   r)   skimage.measurer   r   r   r   r0   r8   rD   rF   rQ   r
   r   r   <module>rT      s        H H H H H H H H H H H H&@ &@ &@R
m 
m 
m5 5 5D D D(9 9 9 9 9r   