Giter Club home page Giter Club logo

siamxt's Introduction

==================================
siamxt: Simple Max-tree Toolbox 
==================================

BSD 2-Clause License
Copyright (c) 2016, Roberto Souza and collaborators
All rights reserved.


Description
-----------

This is an alpha version of the simple max-tree toolbox (siamxt). The major difference to the iamxt toolbox is that it doesn't depend on OpenCV, SWIG, OpenMP and it doesn't come with the drawing methods. The toolbox was implemented in Python and the critical functions were implemented in C++ and wrapped in Python using SWIG. I run the SWIG files on my machine and I provide its output directly to you, so you don’t have to install SWIG on your machine. We have a different max-tree structure that is more suitable for array processing, and allows a fast development of new methods with a reasonable processing time. Our main goal in providing this toolbox is to spread the max-tree data structure further among the scientific community, investigate it further, and develop new tools that may be applied to solve real signal, image processing, and pattern recognition problems. This toolbox works for both 2D and 3D images of type uint8 and uint16. 

There is a public SoftwareX article describing the toolbox. The article is available for download here: http://www.sciencedirect.com/science/article/pii/S2352711017300079 If you use this toolbox on your work, please cite the this article.

- Souza, Roberto, et al. "iamxt: Max-tree toolbox for image processing and analysis." SoftwareX 6 (2017): 81-84.

@article{souza2017iamxt,
  title={iamxt: Max-tree toolbox for image processing and analysis},
  author={Souza, Roberto and Rittner, Let{\'\i}cia and Machado, Rubens and Lotufo, Roberto},
  journal={SoftwareX},
  volume={6},
  pages={81--84},
  year={2017},
  publisher={Elsevier}
}

Authors
---------

Roberto Souza - [email protected]
Letícia Rittner - [email protected]
Rubens Machado - [email protected] 
Roberto Lotufo - [email protected] 


Acknowledgments
-----------------

Thanks to Alexandre Lopes (@alelopes) for adapting the code to Python 3.x.

Requirements
------------

This toolbox works with Python 3.x and requires NumPy. I use SWIG to communicate C and Python, but I generate the SWIG wrappers myself, so you don’t need to install SWIG on your computer.

Documentation
-------------

The documentation of this toolbox is the same of the iamxt (previous distribution of this toolbox) and is available at: http://adessowiki.fee.unicamp.br/adesso/wiki/iamxt/view/

The documentation page won’t load if you have Ad-blockers. Please, disable them!

Some demos can also be found in the jupyter-notebook folder in this repository.

Install
-------
Download the zip file, unzip it, go to the toolbox folder and type on terminal:
sudo python setup.py install (if installing in a root folder) or simply python setup.py install (if installing in a non-root folder, such as a virtual environment).


Note for Windows users
——————————————————————
I didn’t test this toolbox on windows platform, but I added the suggestion given by @u0078867 that should make it work.

Another option if you are a Windows user: a friend has developed a docker image with the toolbox. You can download it from the following repo: https://hub.docker.com/r/marianapbento/siamxt-1.0/

You can install Docker and download the image to use siamxt on your windows machine!


Collaborators
———————————————
If you are interested in adding features or contributing to the siamxt toolbox, please contact me at [email protected]. I am accepting all the help I can get! Currently, the toolbox has reasonable number of users, mostly in Brazil and Europe, but very few developers :(

Contact
---------

If you have any doubts, questions or suggestions to improve this toolbox, please contact me at: [email protected]

siamxt's People

Contributors

alelopes avatar rmsouza01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

siamxt's Issues

Compatibility with python 3

hello Roberto. I forked your project and added Python 3 compatibilities. I basically changed relative imports, one division and the cpp files. I tested in two python 3 installations. Test in more if you want.

The link is here: https://github.com/alelopes/siamxt

If you have any questions, you can comment here or talk to me on Whatsapp 😄

Best,

Building on Windows

A feedback about building it on Windows (Anaconda Python 64 bits).

However, had to change setup.py:

os.environ['OPT'] = " ".join(flag for flag in opt.split() if flag != '-Wstrict-prototypes')

into:

if opt is not None:
    os.environ['OPT'] = " ".join(flag for flag in opt.split() if flag != '-Wstrict-prototypes')

And aux.py name into _aux.py, since aux is not an allowed name in Windows.

Installation on Mac with Xcode 10

The toolbox has issues when installing on Mac computer with Xcode 10.

The error I get is the following:
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the
command line to use the libc++ standard library instead
[-Wstdlibcxx-not-found]
siamxt/C++/max_tree_c_01.cpp:10:10: fatal error: 'iostream' file not found
#include
^~~~~~~~~~
1 warning and 1 error generated.
error: command 'gcc' failed with exit status 1

The solution for the problem may be here: pandas-dev/pandas#23424

I am having issues creating a setup.py file that works across platforms.

.gitignore that ignores checked-in files

Hi Roberto,

First, big thank you for all the nice work on siamxt.

Issue
I had a WTF moment today after trying to include siamxt files as a part of a test repository. I turned out that some of the check-in source files are ignored. Namely this part of .gitignore:

max_tree_c_01.py
max_tree_alpha_aux.py
morph_tree_alpha_aux.py

These files are actually required for max-tree to be calculated, so maybe they should not be in the ignore-list?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.