mmcfilters 0.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mmcfilters-0.0.4/CMakeLists.txt +89 -0
- mmcfilters-0.0.4/LICENSE +674 -0
- mmcfilters-0.0.4/MANIFEST.in +2 -0
- mmcfilters-0.0.4/PKG-INFO +15 -0
- mmcfilters-0.0.4/README.md +43 -0
- mmcfilters-0.0.4/mmcfilters/CMakeLists.txt +50 -0
- mmcfilters-0.0.4/mmcfilters/include/AdjacencyRelation.hpp +59 -0
- mmcfilters-0.0.4/mmcfilters/include/AttributeComputedIncrementally.hpp +279 -0
- mmcfilters-0.0.4/mmcfilters/include/AttributeFilters.hpp +292 -0
- mmcfilters-0.0.4/mmcfilters/include/AttributeOpeningPrimitivesFamily.hpp +60 -0
- mmcfilters-0.0.4/mmcfilters/include/BuilderComponentTreeByUnionFind.hpp +30 -0
- mmcfilters-0.0.4/mmcfilters/include/BuilderTreeOfShapeByUnionFind.hpp +112 -0
- mmcfilters-0.0.4/mmcfilters/include/ComponentTree.hpp +63 -0
- mmcfilters-0.0.4/mmcfilters/include/ComputerDerivatives.hpp +76 -0
- mmcfilters-0.0.4/mmcfilters/include/ComputerMSER.hpp +66 -0
- mmcfilters-0.0.4/mmcfilters/include/ImageUtils.hpp +57 -0
- mmcfilters-0.0.4/mmcfilters/include/NodeCT.hpp +199 -0
- mmcfilters-0.0.4/mmcfilters/include/NodeRes.hpp +104 -0
- mmcfilters-0.0.4/mmcfilters/include/ResidualTree.hpp +62 -0
- mmcfilters-0.0.4/mmcfilters/include/UltimateAttributeOpening.hpp +54 -0
- mmcfilters-0.0.4/mmcfilters/mmcfilters.cpp +171 -0
- mmcfilters-0.0.4/mmcfilters/pybind/AttributeComputedIncrementallyPybind.hpp +86 -0
- mmcfilters-0.0.4/mmcfilters/pybind/AttributeFiltersPybind.hpp +107 -0
- mmcfilters-0.0.4/mmcfilters/pybind/AttributeOpeningPrimitivesFamilyPybind.hpp +39 -0
- mmcfilters-0.0.4/mmcfilters/pybind/ComponentTreePybind.hpp +65 -0
- mmcfilters-0.0.4/mmcfilters/pybind/PybindUtils.hpp +39 -0
- mmcfilters-0.0.4/mmcfilters/pybind/ResidualTreePybind.hpp +55 -0
- mmcfilters-0.0.4/mmcfilters/pybind/UltimateAttributeOpeningPybind.hpp +40 -0
- mmcfilters-0.0.4/mmcfilters/src/AdjacencyRelation.cpp +154 -0
- mmcfilters-0.0.4/mmcfilters/src/AttributeComputedIncrementally.cpp +19 -0
- mmcfilters-0.0.4/mmcfilters/src/AttributeFilters.cpp +70 -0
- mmcfilters-0.0.4/mmcfilters/src/AttributeOpeningPrimitivesFamily.cpp +127 -0
- mmcfilters-0.0.4/mmcfilters/src/BuilderComponentTreeByUnionFind.cpp +112 -0
- mmcfilters-0.0.4/mmcfilters/src/BuilderTreeOfShapeByUnionFind.cpp +223 -0
- mmcfilters-0.0.4/mmcfilters/src/ComponentTree.cpp +254 -0
- mmcfilters-0.0.4/mmcfilters/src/ComputerMSER.cpp +171 -0
- mmcfilters-0.0.4/mmcfilters/src/NodeCT.cpp +67 -0
- mmcfilters-0.0.4/mmcfilters/src/NodeRes.cpp +51 -0
- mmcfilters-0.0.4/mmcfilters/src/ResidualTree.cpp +396 -0
- mmcfilters-0.0.4/mmcfilters/src/UltimateAttributeOpening.cpp +136 -0
- mmcfilters-0.0.4/mmcfilters/test/testeResidualTree.cpp +164 -0
- mmcfilters-0.0.4/mmcfilters/test/testeTensor.cpp +9 -0
- mmcfilters-0.0.4/mmcfilters/test/testeTreeOfShapes.cpp +118 -0
- mmcfilters-0.0.4/mmcfilters.egg-info/PKG-INFO +15 -0
- mmcfilters-0.0.4/mmcfilters.egg-info/SOURCES.txt +53 -0
- mmcfilters-0.0.4/mmcfilters.egg-info/dependency_links.txt +1 -0
- mmcfilters-0.0.4/mmcfilters.egg-info/not-zip-safe +1 -0
- mmcfilters-0.0.4/mmcfilters.egg-info/top_level.txt +2 -0
- mmcfilters-0.0.4/pybind11.cmake +17 -0
- mmcfilters-0.0.4/pyproject.toml +3 -0
- mmcfilters-0.0.4/python/__init__.py +37 -0
- mmcfilters-0.0.4/python/test.py +48 -0
- mmcfilters-0.0.4/python/version.py +1 -0
- mmcfilters-0.0.4/setup.cfg +4 -0
- mmcfilters-0.0.4/setup.py +140 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Instruções de compilação
|
|
2
|
+
#
|
|
3
|
+
# Compilar somente os arquivos de teste:
|
|
4
|
+
# cmake -DBUILD_PYBIND=OFF -DBUILD_DEBUG=ON -DBUILD_TESTS=ON ../
|
|
5
|
+
# cmake -DBUILD_PYBIND=OFF -DBUILD_DEBUG=OFF -DBUILD_TESTS=ON ../
|
|
6
|
+
#
|
|
7
|
+
# Compilar o modulo Python:
|
|
8
|
+
# cmake -DPYTHON_LIBRARY_DIR=$(python -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))") -DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)") ../
|
|
9
|
+
#
|
|
10
|
+
# Depois:
|
|
11
|
+
# make
|
|
12
|
+
# make install
|
|
13
|
+
|
|
14
|
+
cmake_minimum_required(VERSION 3.14)
|
|
15
|
+
project(mmcfilters)
|
|
16
|
+
|
|
17
|
+
# Opções configuráveis
|
|
18
|
+
option(BUILD_PYBIND "Enable building Python bindings with pybind11" ON)
|
|
19
|
+
option(BUILD_DEBUG "Enable Debug mode" OFF)
|
|
20
|
+
option(BUILD_TESTS "Enable building of tests" OFF)
|
|
21
|
+
|
|
22
|
+
# Configurações de compilação (Release por padrão)
|
|
23
|
+
if(BUILD_DEBUG)
|
|
24
|
+
set(CMAKE_BUILD_TYPE Debug)
|
|
25
|
+
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
|
|
26
|
+
else()
|
|
27
|
+
set(CMAKE_BUILD_TYPE Release)
|
|
28
|
+
set(CMAKE_CXX_FLAGS "-O3")
|
|
29
|
+
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
|
30
|
+
endif()
|
|
31
|
+
|
|
32
|
+
# Padrões de C++
|
|
33
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
34
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
35
|
+
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
36
|
+
|
|
37
|
+
# Incluir pybind11 se BUILD_PYBIND estiver ativado
|
|
38
|
+
if(BUILD_PYBIND)
|
|
39
|
+
|
|
40
|
+
include(FetchContent)
|
|
41
|
+
FetchContent_Declare(
|
|
42
|
+
pybind11
|
|
43
|
+
GIT_REPOSITORY https://github.com/pybind/pybind11.git
|
|
44
|
+
GIT_TAG v2.10.4
|
|
45
|
+
)
|
|
46
|
+
FetchContent_MakeAvailable(pybind11)
|
|
47
|
+
|
|
48
|
+
file (GLOB SOURCE_FILES "mmcfilters/src/*.cpp")
|
|
49
|
+
file (GLOB HEADER_FILES "mmcfilters/include/*.hpp" "mmcfilters/pybind/*.hpp")
|
|
50
|
+
|
|
51
|
+
# Set up such that XCode organizes the files
|
|
52
|
+
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${SOURCE_FILES} ${HEADER_FILES} )
|
|
53
|
+
|
|
54
|
+
# Arquivo fonte principal do módulo pybind
|
|
55
|
+
set(PYBIND_CPP_FILE "mmcfilters/mmcfilters.cpp")
|
|
56
|
+
|
|
57
|
+
pybind11_add_module(mmcfilters ${PYBIND_CPP_FILE}
|
|
58
|
+
${SOURCE_FILES}
|
|
59
|
+
${HEADER_FILES}
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
install(TARGETS mmcfilters
|
|
63
|
+
COMPONENT python
|
|
64
|
+
LIBRARY DESTINATION "${PYTHON_LIBRARY_DIR}"
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
endif()
|
|
68
|
+
|
|
69
|
+
# Condicionalmente adicionar a compilação de testes
|
|
70
|
+
if(BUILD_TESTS)
|
|
71
|
+
#crei uma lib mmcfilters_lib
|
|
72
|
+
add_subdirectory(mmcfilters)
|
|
73
|
+
|
|
74
|
+
# Adicionar o executável de testes: testeResidualTree.cpp
|
|
75
|
+
add_executable(testeResidualTree
|
|
76
|
+
mmcfilters/test/testeResidualTree.cpp
|
|
77
|
+
)
|
|
78
|
+
target_link_libraries(testeResidualTree PRIVATE mmcfilters_lib)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
# Adicionar o executável de testes:
|
|
82
|
+
add_executable(testeTreeOfShapes
|
|
83
|
+
mmcfilters/test/testeTreeOfShapes.cpp
|
|
84
|
+
)
|
|
85
|
+
target_link_libraries(testeTreeOfShapes PRIVATE mmcfilters_lib)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
endif()
|