scikit-image

Форк
0
44 строки · 1.6 Кб
1
""" This is the definition file for mcp.pyx.
2
It contains the definitions of the mcp class, such that
3
other cython modules can "cimport mcp" and subclass it.
4
"""
5

6
from . cimport heap
7
cimport numpy as cnp
8

9
ctypedef heap.BOOL_T BOOL_T
10
ctypedef unsigned char DIM_T
11
ctypedef cnp.float64_t FLOAT_T
12
ctypedef cnp.intp_t INDEX_T
13
ctypedef cnp.int8_t EDGE_T
14
ctypedef cnp.int8_t OFFSET_T
15
ctypedef cnp.int16_t OFFSETS_INDEX_T
16

17

18
cdef class MCP:
19
    cdef heap.FastUpdateBinaryHeap costs_heap
20
    cdef object costs_shape
21
    cdef object _starts
22
    cdef object _ends
23
    cdef DIM_T dim
24
    cdef BOOL_T dirty
25
    cdef BOOL_T use_start_cost
26
    # if use_start_cost is true, the cost of the starting element is added to
27
    # the cost of the path. Set to true by default in the base class...
28

29
    # Arrays used during front propagation
30
    cdef FLOAT_T [:] flat_costs
31
    cdef FLOAT_T [:] flat_cumulative_costs
32
    cdef OFFSETS_INDEX_T [:] traceback_offsets
33
    cdef EDGE_T [:,:] flat_pos_edge_map
34
    cdef EDGE_T [:,:] flat_neg_edge_map
35
    # offsets is part of public API. Used to interpret traceback result of find_costs()
36
    cdef public OFFSET_T [:,:] offsets
37
    cdef INDEX_T [:] flat_offsets
38
    cdef FLOAT_T [:] offset_lengths
39

40
    # Methods
41
    cpdef int goal_reached(self, INDEX_T index, FLOAT_T cumcost)
42
    cdef FLOAT_T _travel_cost(self, FLOAT_T old_cost, FLOAT_T new_cost, FLOAT_T offset_length)
43
    cdef void _examine_neighbor(self, INDEX_T index, INDEX_T new_index, FLOAT_T offset_length) noexcept
44
    cdef void _update_node(self, INDEX_T index, INDEX_T new_index, FLOAT_T offset_length) noexcept
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.