
    1-Ph                         d dl Zd dlmc mZ d dlmZ  ej        dej                  Z	e	dddxx         dz  cc<    G d d	ej
                  Zd
 ZdS )    N)assert_array_equal   r   dtype      g       @c                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )FlexibleMCPzSimple MCP subclass that allows the front to travel
    a certain distance from the seed point, and uses a constant
    cost factor that is independent of the cost array.
    c                     t           j                            |            t          j        dt          j                                                  | _        d S )Nr   r   )mcpMCP_Flexible_resetnpzerosfloat32ravel	_distance)selfs    a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/graph/tests/test_flexible.pyr   zFlexibleMCP._reset   sA    %%%&
;;;AACC    c                 ,    | j         |         dk    rdS dS )N   r	   r   r   )r   indexcumcosts      r   goal_reachedzFlexibleMCP.goal_reached   s    >% 1$$11r   c                     dS )Ng      ? r   r   	new_indexoffset_lengths       r   travel_costzFlexibleMCP.travel_cost   s    sr   c                     d S )Nr   r    s       r   examine_neighborzFlexibleMCP.examine_neighbor   s    r   c                 6    | j         |         dz   | j         |<   d S )Nr   r   r    s       r   update_nodezFlexibleMCP.update_node!   s     $(N5$9A$=y!!!r   N)	__name__
__module____qualname____doc__r   r   r#   r%   r'   r   r   r   r   r      sl         
D D D      > > > > >r   r   c                  f   t          t                    }  | j        dg          \  }}t          |d dd df         g dg dg dg dg           t	          j        |dd d d f         t          j        k              sJ t	          j        |d d dd f         t          j        k              sJ d S )N)r   r   r   )r   r	      r   )r	   r	   r-   r   )r-   r-   r-   r   )r   r   r   r   )r   a
find_costsr   r   allinf)r   costs	tracebacks      r   test_flexibler5   %   s    
a..C%s~vh//E9 bqb"1"flllLLL,,,O   6%QQQ-26)*****6%233-26)*******r   )numpyr   skimage.graph.mcpgraphr   skimage._shared.testingr   onesr   r/   r   r   r5   r   r   r   <module>r;      s                 6 6 6 6 6 6 BGF"*%%% !$Q$3> > > > >#" > > >4+ + + + +r   