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.
Files changed (55) hide show
  1. mmcfilters-0.0.4/CMakeLists.txt +89 -0
  2. mmcfilters-0.0.4/LICENSE +674 -0
  3. mmcfilters-0.0.4/MANIFEST.in +2 -0
  4. mmcfilters-0.0.4/PKG-INFO +15 -0
  5. mmcfilters-0.0.4/README.md +43 -0
  6. mmcfilters-0.0.4/mmcfilters/CMakeLists.txt +50 -0
  7. mmcfilters-0.0.4/mmcfilters/include/AdjacencyRelation.hpp +59 -0
  8. mmcfilters-0.0.4/mmcfilters/include/AttributeComputedIncrementally.hpp +279 -0
  9. mmcfilters-0.0.4/mmcfilters/include/AttributeFilters.hpp +292 -0
  10. mmcfilters-0.0.4/mmcfilters/include/AttributeOpeningPrimitivesFamily.hpp +60 -0
  11. mmcfilters-0.0.4/mmcfilters/include/BuilderComponentTreeByUnionFind.hpp +30 -0
  12. mmcfilters-0.0.4/mmcfilters/include/BuilderTreeOfShapeByUnionFind.hpp +112 -0
  13. mmcfilters-0.0.4/mmcfilters/include/ComponentTree.hpp +63 -0
  14. mmcfilters-0.0.4/mmcfilters/include/ComputerDerivatives.hpp +76 -0
  15. mmcfilters-0.0.4/mmcfilters/include/ComputerMSER.hpp +66 -0
  16. mmcfilters-0.0.4/mmcfilters/include/ImageUtils.hpp +57 -0
  17. mmcfilters-0.0.4/mmcfilters/include/NodeCT.hpp +199 -0
  18. mmcfilters-0.0.4/mmcfilters/include/NodeRes.hpp +104 -0
  19. mmcfilters-0.0.4/mmcfilters/include/ResidualTree.hpp +62 -0
  20. mmcfilters-0.0.4/mmcfilters/include/UltimateAttributeOpening.hpp +54 -0
  21. mmcfilters-0.0.4/mmcfilters/mmcfilters.cpp +171 -0
  22. mmcfilters-0.0.4/mmcfilters/pybind/AttributeComputedIncrementallyPybind.hpp +86 -0
  23. mmcfilters-0.0.4/mmcfilters/pybind/AttributeFiltersPybind.hpp +107 -0
  24. mmcfilters-0.0.4/mmcfilters/pybind/AttributeOpeningPrimitivesFamilyPybind.hpp +39 -0
  25. mmcfilters-0.0.4/mmcfilters/pybind/ComponentTreePybind.hpp +65 -0
  26. mmcfilters-0.0.4/mmcfilters/pybind/PybindUtils.hpp +39 -0
  27. mmcfilters-0.0.4/mmcfilters/pybind/ResidualTreePybind.hpp +55 -0
  28. mmcfilters-0.0.4/mmcfilters/pybind/UltimateAttributeOpeningPybind.hpp +40 -0
  29. mmcfilters-0.0.4/mmcfilters/src/AdjacencyRelation.cpp +154 -0
  30. mmcfilters-0.0.4/mmcfilters/src/AttributeComputedIncrementally.cpp +19 -0
  31. mmcfilters-0.0.4/mmcfilters/src/AttributeFilters.cpp +70 -0
  32. mmcfilters-0.0.4/mmcfilters/src/AttributeOpeningPrimitivesFamily.cpp +127 -0
  33. mmcfilters-0.0.4/mmcfilters/src/BuilderComponentTreeByUnionFind.cpp +112 -0
  34. mmcfilters-0.0.4/mmcfilters/src/BuilderTreeOfShapeByUnionFind.cpp +223 -0
  35. mmcfilters-0.0.4/mmcfilters/src/ComponentTree.cpp +254 -0
  36. mmcfilters-0.0.4/mmcfilters/src/ComputerMSER.cpp +171 -0
  37. mmcfilters-0.0.4/mmcfilters/src/NodeCT.cpp +67 -0
  38. mmcfilters-0.0.4/mmcfilters/src/NodeRes.cpp +51 -0
  39. mmcfilters-0.0.4/mmcfilters/src/ResidualTree.cpp +396 -0
  40. mmcfilters-0.0.4/mmcfilters/src/UltimateAttributeOpening.cpp +136 -0
  41. mmcfilters-0.0.4/mmcfilters/test/testeResidualTree.cpp +164 -0
  42. mmcfilters-0.0.4/mmcfilters/test/testeTensor.cpp +9 -0
  43. mmcfilters-0.0.4/mmcfilters/test/testeTreeOfShapes.cpp +118 -0
  44. mmcfilters-0.0.4/mmcfilters.egg-info/PKG-INFO +15 -0
  45. mmcfilters-0.0.4/mmcfilters.egg-info/SOURCES.txt +53 -0
  46. mmcfilters-0.0.4/mmcfilters.egg-info/dependency_links.txt +1 -0
  47. mmcfilters-0.0.4/mmcfilters.egg-info/not-zip-safe +1 -0
  48. mmcfilters-0.0.4/mmcfilters.egg-info/top_level.txt +2 -0
  49. mmcfilters-0.0.4/pybind11.cmake +17 -0
  50. mmcfilters-0.0.4/pyproject.toml +3 -0
  51. mmcfilters-0.0.4/python/__init__.py +37 -0
  52. mmcfilters-0.0.4/python/test.py +48 -0
  53. mmcfilters-0.0.4/python/version.py +1 -0
  54. mmcfilters-0.0.4/setup.cfg +4 -0
  55. 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()