ó
 ‰\c           @   s…   d  d l  Z d  d l j j Z d  d l m Z e j d d e j ƒZ	 e	 d d d … c d 9<d e j
 f d	 „  ƒ  YZ d
 „  Z d S(   iÿÿÿÿN(   t   assert_array_equali   t   dtypei   i   g       @t   FlexibleMCPc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s±    Simple MCP subclass that allows the front to travel 
    a certain distance from the seed point, and uses a constant
    cost factor that is independant of the cost array.
    c         C   s5   t  j j |  ƒ t j d d t j ƒj ƒ  |  _ d  S(   Ni   R   (   i   i   (   t   mcpt   MCP_Flexiblet   _resett   npt   zerost   float32t   ravelt	   _distance(   t   self(    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyR      s    c         C   s   |  j  | d k r d Sd Sd  S(   Ni   i   i    (   R
   (   R   t   indext   cumcost(    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyt   goal_reached   s    c         C   s   d S(   Ng      ğ?(    (   R   R   t	   new_indext   offset_length(    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyt   travel_cost   s    c         C   s   d  S(   N(    (   R   R   R   R   (    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyt   examine_neighbor   s    c         C   s   |  j  | d |  j  | <d  S(   Ni   (   R
   (   R   R   R   R   (    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyt   update_node!   s    (   t   __name__t
   __module__t   __doc__R   R   R   R   R   (    (    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyR      s   				c       	   C   sï   t  t ƒ }  |  j d g ƒ \ } } t | d  d … d  d … f d d d d g d d d d g d d d d g d d d d g g ƒ t j | d d  … d  d  … f t j k ƒ s· t ‚ t j | d  d  … d d  … f t j k ƒ së t ‚ d  S(   Ni    i   i   i   i   işÿÿÿ(   i    i    (   R   t   at
   find_costsR    R   t   allt   inft   AssertionError(   R   t   costst	   traceback(    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyt   test_flexible%   s    +4(   i   i   (   t   numpyR   t   skimage.graph.mcpt   graphR   t   skimage._shared.testingR    t   onesR   R   R   R   R   (    (    (    s@   lib/python2.7/site-packages/skimage/graph/tests/test_flexible.pyt   <module>   s   