diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-17 05:01:11 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-17 05:01:11 +0000 |
| commit | bb4b95ca1eca0e262a5ef342495c14e3745ab5a6 (patch) | |
| tree | ad6f4ccd0ce175584fa79f5fe5e40f5272031c7b | |
| parent | 5db68a3f6660fd511763b98cf1db993e5a3090a2 (diff) | |
automatic import of python-gco-wrapper
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-gco-wrapper.spec | 220 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 222 insertions, 0 deletions
@@ -0,0 +1 @@ +/gco-wrapper-3.0.8.tar.gz diff --git a/python-gco-wrapper.spec b/python-gco-wrapper.spec new file mode 100644 index 0000000..3ef19a8 --- /dev/null +++ b/python-gco-wrapper.spec @@ -0,0 +1,220 @@ +%global _empty_manifest_terminate_build 0 +Name: python-gco-wrapper +Version: 3.0.8 +Release: 1 +Summary: pyGCO: a python wrapper for the graph cuts package +License: MIT +URL: http://vision.csd.uwo.ca/code/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f2/7c/f56206f0e6ebf7f9465f76bbac269959a3f1d46ad4b291794a6a63803762/gco-wrapper-3.0.8.tar.gz + +Requires: python3-Cython +Requires: python3-numpy + +%description +This is a python wrapper for [gco-v3.0 package](http://vision.csd.uwo.ca/code/), which implements a graph cuts based move-making algorithm for optimization in Markov Random Fields. +It contains a copy of the **gco-v3.0 package**. Some of the design were borrowed from the [gco_python](https://github.com/amueller/gco_python) package. However, compared to gco_python: +* This package does not depend on Cython. Instead it is implemented using the ctypes library and a C wrapper of the C++ code. +* This package is an almost complete wrapper for gco-v3.0, which supports more direct low level control over GCoptimization objects. +* This package supports graphs with edges weighted differently. +This wrapper is composed of two parts, a C wrapper and a python wrapper. +## Implemented functions + * **cut_general_graph**(...) + * **cut_grid_graph**(...) + * **cut_grid_graph_simple**(...) +## Building wrapper +1. download the last version of [gco-v3.0](http://vision.csd.uwo.ca/code/gco-v3.0.zip) to the _gco_source_ +1. compile gco-v3.0 and the C wrapper using `make` +1. compile test_wrapper using `make test_wrapper` +1. run the C test code `./test_wrapper` (now you have the C wrapper ready) +```bash +make download +make all +make test_wrapper +./test_wrapper +``` +The successful run should return: +```bash +labels = [ 0 2 2 1 ], energy=19 +data energy=15, smooth energy=4 +``` +Next test the python wrapper using `python test_examples.py`, if it works fine you are ready to use pygco. +To include pygco in your code, simply import pygco module. See the documentation inside code for more details. +## Install wrapper +Clone repository and enter folder, then +```bash +pip install -r requirements.txt +python setup.py install +``` +Now it can be also installed from PyPi +```bash +pip install gco-wrapper +``` +## Show test results +Visualisation of the unary terns for **binary segmentation** + +**4-connected** components with the initial labeling (left) and estimated labeling with regularisation **1** (middle) and **0** (right) + +**8-connected** components with the initial labeling (left) and estimated labeling with regularisation **1** (middle) and **0** (right) + +Visualisation of the unary terns for **3 labels segmentation** + +with the __initial__ labeling (left) and __estimated__ labeling (right) + + +%package -n python3-gco-wrapper +Summary: pyGCO: a python wrapper for the graph cuts package +Provides: python-gco-wrapper +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-gco-wrapper +This is a python wrapper for [gco-v3.0 package](http://vision.csd.uwo.ca/code/), which implements a graph cuts based move-making algorithm for optimization in Markov Random Fields. +It contains a copy of the **gco-v3.0 package**. Some of the design were borrowed from the [gco_python](https://github.com/amueller/gco_python) package. However, compared to gco_python: +* This package does not depend on Cython. Instead it is implemented using the ctypes library and a C wrapper of the C++ code. +* This package is an almost complete wrapper for gco-v3.0, which supports more direct low level control over GCoptimization objects. +* This package supports graphs with edges weighted differently. +This wrapper is composed of two parts, a C wrapper and a python wrapper. +## Implemented functions + * **cut_general_graph**(...) + * **cut_grid_graph**(...) + * **cut_grid_graph_simple**(...) +## Building wrapper +1. download the last version of [gco-v3.0](http://vision.csd.uwo.ca/code/gco-v3.0.zip) to the _gco_source_ +1. compile gco-v3.0 and the C wrapper using `make` +1. compile test_wrapper using `make test_wrapper` +1. run the C test code `./test_wrapper` (now you have the C wrapper ready) +```bash +make download +make all +make test_wrapper +./test_wrapper +``` +The successful run should return: +```bash +labels = [ 0 2 2 1 ], energy=19 +data energy=15, smooth energy=4 +``` +Next test the python wrapper using `python test_examples.py`, if it works fine you are ready to use pygco. +To include pygco in your code, simply import pygco module. See the documentation inside code for more details. +## Install wrapper +Clone repository and enter folder, then +```bash +pip install -r requirements.txt +python setup.py install +``` +Now it can be also installed from PyPi +```bash +pip install gco-wrapper +``` +## Show test results +Visualisation of the unary terns for **binary segmentation** + +**4-connected** components with the initial labeling (left) and estimated labeling with regularisation **1** (middle) and **0** (right) + +**8-connected** components with the initial labeling (left) and estimated labeling with regularisation **1** (middle) and **0** (right) + +Visualisation of the unary terns for **3 labels segmentation** + +with the __initial__ labeling (left) and __estimated__ labeling (right) + + +%package help +Summary: Development documents and examples for gco-wrapper +Provides: python3-gco-wrapper-doc +%description help +This is a python wrapper for [gco-v3.0 package](http://vision.csd.uwo.ca/code/), which implements a graph cuts based move-making algorithm for optimization in Markov Random Fields. +It contains a copy of the **gco-v3.0 package**. Some of the design were borrowed from the [gco_python](https://github.com/amueller/gco_python) package. However, compared to gco_python: +* This package does not depend on Cython. Instead it is implemented using the ctypes library and a C wrapper of the C++ code. +* This package is an almost complete wrapper for gco-v3.0, which supports more direct low level control over GCoptimization objects. +* This package supports graphs with edges weighted differently. +This wrapper is composed of two parts, a C wrapper and a python wrapper. +## Implemented functions + * **cut_general_graph**(...) + * **cut_grid_graph**(...) + * **cut_grid_graph_simple**(...) +## Building wrapper +1. download the last version of [gco-v3.0](http://vision.csd.uwo.ca/code/gco-v3.0.zip) to the _gco_source_ +1. compile gco-v3.0 and the C wrapper using `make` +1. compile test_wrapper using `make test_wrapper` +1. run the C test code `./test_wrapper` (now you have the C wrapper ready) +```bash +make download +make all +make test_wrapper +./test_wrapper +``` +The successful run should return: +```bash +labels = [ 0 2 2 1 ], energy=19 +data energy=15, smooth energy=4 +``` +Next test the python wrapper using `python test_examples.py`, if it works fine you are ready to use pygco. +To include pygco in your code, simply import pygco module. See the documentation inside code for more details. +## Install wrapper +Clone repository and enter folder, then +```bash +pip install -r requirements.txt +python setup.py install +``` +Now it can be also installed from PyPi +```bash +pip install gco-wrapper +``` +## Show test results +Visualisation of the unary terns for **binary segmentation** + +**4-connected** components with the initial labeling (left) and estimated labeling with regularisation **1** (middle) and **0** (right) + +**8-connected** components with the initial labeling (left) and estimated labeling with regularisation **1** (middle) and **0** (right) + +Visualisation of the unary terns for **3 labels segmentation** + +with the __initial__ labeling (left) and __estimated__ labeling (right) + + +%prep +%autosetup -n gco-wrapper-3.0.8 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-gco-wrapper -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 3.0.8-1 +- Package Spec generated @@ -0,0 +1 @@ +669fbb6ebc126b9d9cedb05c76072ad3 gco-wrapper-3.0.8.tar.gz |
