{"id":15902080,"url":"https://github.com/markus-goetz/dmt","last_synced_at":"2025-04-02T20:11:31.704Z","repository":{"id":190957462,"uuid":"247948797","full_name":"Markus-Goetz/dmt","owner":"Markus-Goetz","description":"Parallel computation of max-trees in distributed memory environments","archived":false,"fork":false,"pushed_at":"2020-03-17T13:06:13.000Z","size":14847,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T10:32:00.627Z","etag":null,"topics":["cpp","machine-learning","max-tree","min-tree","mpi","openmp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Markus-Goetz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-03-17T11:08:13.000Z","updated_at":"2020-03-18T14:37:41.000Z","dependencies_parsed_at":"2023-08-27T11:36:23.935Z","dependency_job_id":null,"html_url":"https://github.com/Markus-Goetz/dmt","commit_stats":null,"previous_names":["markus-goetz/dmt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Markus-Goetz%2Fdmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Markus-Goetz%2Fdmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Markus-Goetz%2Fdmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Markus-Goetz%2Fdmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Markus-Goetz","download_url":"https://codeload.github.com/Markus-Goetz/dmt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246884769,"owners_count":20849554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","machine-learning","max-tree","min-tree","mpi","openmp"],"created_at":"2024-10-06T11:22:11.231Z","updated_at":"2025-04-02T20:11:31.658Z","avatar_url":"https://github.com/Markus-Goetz.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dmt\n\nComputes the [max-tree](https://scikit-image.org/docs/dev/auto_examples/developers/plot_max_tree.html) of an image - a hierarchical representation of that image that is the basis for a large family of morphological filters. It is often used as the basis of feature engineering in remote sensing applications.\n\ndmt is written in C++ and may be used as a command line tool. Data is passed to and generaed by the tool in form of HDF5 files.\n\n## Dependencies\n\ndmt requires the following dependencies. Please make sure, that these are installed, before attempting to compile the code.\n\n* CMake 3.10+\n* C++11 compliant compiler (e.g. g++ 4.9+)\n* OpenMP 4.0+ (e.g. g++ 4.9+)\n* HDF5 1.8+\n* Message Passing Interface (MPI) 2.0+\n\n## Compilation\n\ndmt follows the standard CMake project conventions. Create a build directory, change to it, generate the build script and compile it. A convenience short-hand can be found below.\n\n``` bash\nmkdir build \u0026\u0026 cd build \u0026\u0026 cmake .. \u0026\u0026 make\n```\n\nThe provided CMake script checks, but does not install, all of the necessary dependencies listed above.\n\n## Usage\n\ndmt's command line usage flags are shown below. You may obtain the same message by invoking `dmt -h`:\n\n```\ndmt - distributed max-tree\nUsage: ./dmt \u003cIN_FILE\u003e \u003cIN_DATASET\u003e \u003cOUT_FILE\u003e \u003cOUT_DATASET\u003e\n```\n\nThe typical basic usage of dmt is shown below. The line shows a typical high-performance computing setup with multiple distributed nodes and processing cores per node, but also runs on your work stations or laptop. The data is passed to the application in form of an HDF5 file. \n\n``` bash\nmpirun -np \u003cNODES\u003e ./dmt -t \u003cTHREADS\u003e \u003cPATH_TO_HDF5_FILE\u003e\n```\n\n## Citation\n\nIf you wish to cite dmt in your academic work, please use the following reference:\n\nPlain reference\n```\nGötz, M., Cavallaro, G., Géraud, T., Book, M., \u0026 Riedel, M. (2018). \nParallel computation of component trees on distributed memory machines. \nIEEE Transactions on Parallel and Distributed Systems, 29(11), 2582-2598.\n```\n\nBibTex\n``` bibtex\n@article{gotz2018parallel,\n  title={Parallel computation of component trees on distributed memory machines},\n  author={G{\\\"o}tz, Markus and Cavallaro, Gabriele and G{\\'e}raud, Thierry and Book, Matthias and Riedel, Morris},\n  journal={IEEE Transactions on Parallel and Distributed Systems},\n  volume={29},\n  number={11},\n  pages={2582--2598},\n  year={2018},\n  publisher={IEEE}\n}\n```\n\n## Contact\n\nIf you want to let us know about feature requests, bugs or issues you are kindly referred to the [issue tracker](https://github.com/Markus-Goetz/dmt/issues).\n\nFor any other discussion, please write an [e-mail](mailto:markus.goetz@kit.edu).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkus-goetz%2Fdmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkus-goetz%2Fdmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkus-goetz%2Fdmt/lists"}