Terrain Analysis Using Digital Elevation Models (TauDEM) software for hydrologic terrain analysis and channel network extraction.

Overview
TauDEM (Terrain Analysis Using Digital Elevation Models) is a suite of Digital Elevation Model (DEM) tools for the extraction and analysis of hydrologic information from topography as represented by a DEM.

For more information on the development of TauDEM please refer to the wiki https://github.com/dtarb/TauDEM/wiki.

For the latest release and detailed documentation please refer to the website: http://hydrology.usu.edu/taudem.


Building on Linux
-----------------
Both make and Cmake options are available to accommodate different preferences and system demands
Using make:
> cd TauDEM
> mkdir bin
> cd src
> make
The executables are written to bin directory

Using Cmake:
> cd src && mkdir build && cd build
> cmake ..
> make && make install
The executables are written to /usr/local/taudem directory.  This can be changed at the second last line (following DESTINATION) if desired.

Dependencies
------------
Dependencies include GDAL, MPI and C++ 2011.
On Windows Dependencies are provided in the Windows Installer

On Linux dependencies can be tricky.  I've added the following scripts to help, though you may need to adjust based on your system.  
GDAL:  GDAL.sh installs from GDAL source. You could also try
apt-get install gdal-bin libgdal-dev
apt-get install gdal-bin=2.1.3+dfsg-1~xenial2
apt-get install libmpich-dev (on Bionic 18.04 LTS)  [Suggested by another user - not verified]

C++: The script GCC.sh contains some commands I've used to get the required compiler.

MPI: MPICH2.sh installs from mpich.org stable distribution source.
sudo apt-get install openmpi-bin may also be an option, but I have not tried this.

Testing
-------
See the repository https://github.com/dtarb/TauDEM-Test-Data for test data and scripts that exercise every function.  These can also serve as examples for using some of the functions.

Issues
  • missing gdal111.dll and broken page for downloading

    missing gdal111.dll and broken page for downloading

    I did a complete Windows install (Version 5.3.4), and I keep getting this error message:

    "The program can't start because gdal111.dll is missing from your computer. Try reinstalling the program to fix this problem."

    I used the recommended Complete Installer. When I went to download the GDAL 111 individually, it took me to a broken page.

    I've reinstalled with no luck. Tried using both the command prompt and the ArcGIS toolbox. Any thoughts? image

    image

    opened by LaraU 21
  • Entry Point Not Found error - C runtime library/.NET version?

    Entry Point Not Found error - C runtime library/.NET version?

    Hello,

    I've installed TauDEM as per the instructions on Windows 10 by using the TauDEM installer as well as Microsoft MPI (v8.1). I can access Taudem via the command line and can also add the toolbox in Arc. On running a command following the instructions from here using my own DEM (which is a valid GeoTiff) as per:

    mpiexec -n 8 PitRemove -z ./ny_crop.tif -fel ./ny_crop_fel.tif
    

    I am receiving an error stating:

    PitRemove.exe – Entry Point Not Found
    
    The procedure entry point sqlite3_create_function_v2 could not be located in the dynamic link library     C:\Program Files\GDAL\spatialite.dll.
    

    My installation has the following added to my path - as added by the TauDEM and MPI installers:

    C:\Program Files\Microsoft MPI\Bin\
    C:\GDAL
    C:\Program Files\GDAL
    C:\Program Files\TauDEM\TauDEM5Exe
    

    The sptiallite.dll is located as in the error message at C:\Program Files\GDAL\spatialite.dll

    I am wondering if the Entry Point error may be linked to the C runtime library or .NET version I have - which versions were used/tested with TauDEM? I wonder if there is a version incompatibility at my end.

    opened by Chris35Wills 15
  • Move Outlets to Streams throwing errors

    Move Outlets to Streams throwing errors

    I moved an ArcMap project from my desktop to my MacBook laptop. I repeat the analysis steps using the same input files. All goes well until I get to MoveOutletstoStreams and there the script fails. Something to do with versions? I just downloaded the latest TauDEM to my MacBook, which is running ArcGIS 10.4

    opened by sjskhalsa 15
  • Develop branch is broken

    Develop branch is broken

    I tried to improve build system a bit in Develop branch, but looks like it is broken

    In file included from /home/alex/devel/TauDEM/src/commonLib.h:101:0,
                     from /home/alex/devel/TauDEM/src/tiffIO.h:49,
                     from /home/alex/devel/TauDEM/src/tiffIO.cpp:47:
    /home/alex/devel/TauDEM/src/linearpart.h: In member function ‘void linearpart<datatype>::savedxdyc(tiffIO&)’:
    /home/alex/devel/TauDEM/src/linearpart.h:523:16: error: invalid use of incomplete type ‘class tiffIO’
          dxc[i]=obj.getdxc(globalY);
                    ^
    In file included from /home/alex/devel/TauDEM/src/linearpart.h:42:0,
                     from /home/alex/devel/TauDEM/src/commonLib.h:101,
                     from /home/alex/devel/TauDEM/src/tiffIO.h:49,
                     from /home/alex/devel/TauDEM/src/tiffIO.cpp:47:
    /home/alex/devel/TauDEM/src/partition.h:46:7: note: forward declaration of ‘class tiffIO’
     class tiffIO;
           ^
    In file included from /home/alex/devel/TauDEM/src/commonLib.h:101:0,
                     from /home/alex/devel/TauDEM/src/tiffIO.h:49,
                     from /home/alex/devel/TauDEM/src/tiffIO.cpp:47:
    /home/alex/devel/TauDEM/src/linearpart.h:524:13: error: invalid use of incomplete type ‘class tiffIO’
       dyc[i]=obj.getdyc(globalY);
                 ^
    In file included from /home/alex/devel/TauDEM/src/linearpart.h:42:0,
                     from /home/alex/devel/TauDEM/src/commonLib.h:101,
                     from /home/alex/devel/TauDEM/src/tiffIO.h:49,
                     from /home/alex/devel/TauDEM/src/tiffIO.cpp:47:
    /home/alex/devel/TauDEM/src/partition.h:46:7: note: forward declaration of ‘class tiffIO’
     class tiffIO;
    
    opened by alexbruy 14
  • ERROR 000732: Input Raster Dataset

    ERROR 000732: Input Raster Dataset

    I download and installed TauDEM for examining the capability of the tool to edit the DEM. I extracted and imported the elevation to ArcMap and ran the 'pit remove' tool. When it finished running it shows error message;

    Process started:

    Executing: Calculate Statistics

    Failed script PitRemove...

    Traceback (most recent call last): File "C:\Program Files\TauDEM\TauDEM5Arc\PitRemove.py", line 63, in arcpy.CalculateStatistics_management(outFile) File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\management.py", line 13825, in CalculateStatistics raise e ExecuteError: Failed to execute. Parameters are not valid. ERROR 000732: Input Raster Dataset: Dataset D:\work\projects\test\Demo\cubdemfel.tif does not exist or is not supported Failed to execute (CalculateStatistics).

    Failed to execute (PitRemove).

    I could not process further. Any help would be greatly appreciated.

    Regards, Sandhya

    Answer 
    opened by sandhyageo 14
  • [Request] Port open file fixes to single-file version

    [Request] Port open file fixes to single-file version

    Hi. On Mac OS X, I am seeing many processes of the single-file version (5.1.1) of TauDEM finishing with open file handles, whereby the output file(s) become unreadable by other apps. It looks like this has been fixed in 45686615, and maybe other commits in this repository.

    I would like to know if these fixes are planned to be ported to the single-file version? Thanks.

    opened by dakcarto 11
  • Compilation problem in Debian

    Compilation problem in Debian

    Hi.

    I get this when running make in Debian 8.4, please let me know how to fix this if there's a way:

    mpic++ -g -c areadinfmn.cpp -o areadinfmn.o In file included from areadinfmn.cpp:46:0: commonLib.h:46:21: fatal error: ogr_api.h: Aucun fichier ou dossier de ce type

    include "ogr_api.h"

                    ^
    

    compilation terminated. makefile:179: recipe for target 'areadinfmn.o' failed make: *** [areadinfmn.o] Error 1

    Thank you.

    Answer 
    opened by privatemajory 9
  • Linux: stream_reach_file warning: Layer creation failed.

    Linux: stream_reach_file warning: Layer creation failed.

    StreamNet version 5.3.8 Input file stream_raster_grid.tif has geographic coordinate system. This run may take on the order of 1 minutes to complete. This estimate is very approximate. Run time is highly uncertain as it depends on the complexity of the input data and speed and memory of the computer. This estimate is based on our testing on a dual quad core Dell Xeon E5405 2.0GHz PC with 16GB RAM. Input file flow_dir_grid_d8.tif has geographic coordinate system. Input file contributing_area_grid_d8.tif has geographic coordinate system. Input file elev.tif has geographic coordinate system. Evaluating distances to outlet Creating links ERROR 10: Name was NULL in OGR_DS_CreateLayer ERROR 10: Pointer 'hLayer' is NULL in 'OGR_L_CreateField'.

    stream_reach_file warning: Layer creation failed.

    opened by snowman2 7
  • Error R6034

    Error R6034

    Dear all, I'm trying to use TauDEM before begin with other tools, as SedinConnect. I'm using arcGIS 10.2.1 over windows 10. I installed all the tools indicated in the download page, listed here: GDAL 201 for 64 bit Windows PC GDAL 2.1.0 for Python 2.7 Microsoft MPI v7.1 Microsoft Visual C++ 2015 Redistributable Package (x86) Microsoft Visual C++ 2015 Redistributable Package (x64) I installed Microsoft MPI v7.1 by running as administrator from the contextual menu. Following the advice of SedInConnect people (https://github.com/HydrogeomorphologyTools/SedInConnect_2.3/blob/master/Guidelines_tools_stand-alone.docx), I turned the UAC (User Account Control) to the lowest value to prevent Windows from blocking MPI activity. I installed TauDEM 5.3.7 by running as administrator from the contextual menu. I installed the arcGIS toolbox and tried to run pitremove from there. I obtain the error R6034: dcaptura de pantalla 2017-05-22 12 36 48

    And the ERROR 000732 in the arcGIS pit remove dialog, who cannot calculate statistics in the file I put as output. I tried to run from the command line, both by using the command prompt and my GIT bash: mpiexec -n 8 pitremove -z "./FromENVI/S36W072_73_DEM_RBB_UTM18S.tif" -fel "./FromTauDEM/RBB.tif"

    And I obtained the same error R6034.

    I don't know what to do. I'll appreciate your help, Violeta

    opened by violleTolorza 7
  • Unable to get the

    Unable to get the "correct streamlines"

    Try the below configuration:

    PitRemove.exe "WATERSHED TESTING2.tif"
    D8FlowDir.exe -p  "WATERSHED TESTING2p.tif" -sd8 "WATERSHED TESTING2sd8.tif" -fel "WATERSHED TESTING2fel.tif"
    aread8.exe -p  "WATERSHED TESTING2p.tif" -ad8 "WATERSHED TESTING2ad8.tif" -wg "WATERSHED TESTING2ss.tif"
    gridnet.exe -p "WATERSHED TESTING2p.tif" -plen "WATERSHED TESTING2plen.tif" -tlen "WATERSHED TESTING2tlen.tif" -gord "WATERSHED TESTING2gord.tif"
    peukerdouglas.exe -fel "WATERSHED TESTING2fel.tif" -ss "WATERSHED TESTING2ss.tif"
    aread8.exe  -p  "WATERSHED TESTING2p.tif" -ad8  "WATERSHED TESTING2ssa.tif" -wg " "WATERSHED TESTING2ss.tif""
    Threshold.exe -ssa "WATERSHED TESTING2ssa.tif" -src "WATERSHED TESTING2src.tif" -threshold 50
    streamnet.exe -fel  "WATERSHED TESTING2fel.tif" -p "WATERSHED TESTING2p.tif" -ad8 "WATERSHED TESTING2ad8.tif" -src "WATERSHED TESTING2src.tif" -ord "WATERSHED TESTING2ord.tif" -tree "WATERSHED TESTING2tree.dat" -coord "WATERSHED TESTING2coord.dat" -net "WATERSHED TESTING2net.shp" -w "WATERSHED TESTING2w.tif"
    

    The output is very different from what we can see on manual inspection.

    From 3D view, it seems that the streamlines mostly flow across from top left to bottom right or vice versa.

    3d flow direction

    But the output generated by TauDEM seems to indicate that the flow goes in another direction, namely, from top right to bottom left.

    withnc

    nonc

    With or without the -nc parameter, the flow directions are almost the same in TauDEM, but very different from what we can see by visual inspection.

    Changing different threshold value still doesn't change the flow directions.

    Why is it so? And how can I fix this?

    Here's the tiff file WATERSHED TESTING2.zip

    opened by WindingWinter 6
  • SetRegion.cpp fails to compile on Ubuntu

    SetRegion.cpp fails to compile on Ubuntu

    I'm trying to get TauDEM compiled on Ubuntu Xenial, and after the make, I get this error:

    [  0%] Building CXX object CMakeFiles/setregion.dir/SetRegionmn.cpp.o
    /home/vagrant/TauDEM/src/SetRegionmn.cpp: In function ‘int main(int, char**)’:
    /home/vagrant/TauDEM/src/SetRegionmn.cpp:108:1: error: jump to label ‘errexit’ [-fpermissive]
     errexit:
     ^
    /home/vagrant/TauDEM/src/SetRegionmn.cpp:55:23: note:   from here
        if(argc <= 2) goto errexit;
                           ^
    /home/vagrant/TauDEM/src/SetRegionmn.cpp:56:9: note:   crosses initialization of ‘int i’
         int i=1; 
             ^
    CMakeFiles/setregion.dir/build.make:62: recipe for target 'CMakeFiles/setregion.dir/SetRegionmn.cpp.o' failed
    make[2]: *** [CMakeFiles/setregion.dir/SetRegionmn.cpp.o] Error 1
    CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/setregion.dir/all' failed
    make[1]: *** [CMakeFiles/setregion.dir/all] Error 2
    Makefile:127: recipe for target 'all' failed
    make: *** [all] Error 2
    

    Any ideas?

    Edit: I'm using the Develop branch from git.

    opened by jgrn307 6
  • Burned flow direction

    Burned flow direction

    Dear dtarb!

    This package is awesome. Thanks for developing it.

    I`m trying to obtain burned flow direction file using the .exe procedure described on https://hydrology.usu.edu/taudem/taudem5/TauDEMRScript.txt

    But I'm not being well succeeded on it. Can you give me some lights?

    1. Filled Dem (work perfectly)

    system("mpiexec -n 8 pitremove -z ./intermediarios/NASAdem_S2000_30m_raster.tif -fel ./intermediarios/burned/demFill.tif")

    1. D8 (work perfectly)

    system("mpiexec -n 8 D8Flowdir -p ./intermediarios/burned/demFillDir8.tif -sd8 ./intermediarios/burned/demFillSlopeDir8.tif -fel ./intermediarios/burned/demFill.tif")

    1. D8 Burned based on streamnet (do not work)

    system("mpiexec -n 8 D8Flowdir -p ./intermediarios/burned/demFillDir8.tif -sd8 ./intermediarios/burned/demFillSlopeDir8.tif -fel ./intermediarios/burned/demFill.tif -sfdr ./intermediarios/streamnetRaster30m.tif")

    Thanks for your attention!

    opened by tcalegario 3
  • Process refusing to die?

    Process refusing to die?

    I'm getting the error seen below while trying to run the pitfill function on a tif formatted DEM. I was hoping someone might have some ideas about what is going wrong. The DEM is large (~400 GB), but I have 1 TB of memeory available. I'm also using 10 processes.

    Thank you for any insight!

    PitRemove version 5.3.8
    Input file /p/work2/nolsen2/PA/PALIDARcrop1.tif has geographic coordinate system.
    This run may take on the order of 811 minutes to complete.
    This estimate is very approximate. 
    Run time is highly uncertain as it depends on the complexity of the input data 
    and speed and memory of the computer. This estimate is based on our testing on 
    a dual quad core Dell Xeon E5405 2.0GHz PC with 16GB RAM.
    --------------------------------------------------------------------------
    WARNING: A process refused to die despite all the efforts!
    This process may still be running and/or consuming resources.
    
    Host: lmem00
    PID:  29677
    
    --------------------------------------------------------------------------
    [lmem00:29675] 8 more processes have sent help message help-orte-odls-base.txt / orte-odls-base:could-not-kill
    [lmem00:29675] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
    --------------------------------------------------------------------------
    mpiexec noticed that process rank 3 with PID 29680 on node lmem00 exited on signal 9 (Killed).
    --------------------------------------------------------------------------
    
    opened by NO645 1
  • Outlets in Slope Area Stream Definition not working.

    Outlets in Slope Area Stream Definition not working.

    Hi. Long time user of TauDEM here.

    Up until recently I've never had any issues with the tool, using it flawlessly on a Windows XP (!!!) with ArcGIS 10.5 for years

    But ever since I've upgraded to a Windows 10, I get an error when I run a Slope Area Stream Definition:

    job aborted: [ranks] message

    [0] process exited without calling finalize

    ---- error analysis -----

    [0] on DESKTOP-5U1UDP0 D8FlowPathExtremeUp ended prematurely and may have crashed. exit code 0xc0000005

    ---- error analysis -----

    Failed script SlopeAreaStreamDef...

    Traceback (most recent call last): File "C:\Program Files\TauDEM\TauDEM5Arc\SlopeAreaStreamDefinition.py", line 146, in arcpy.CalculateStatistics_management(ssa) File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\management.py", line 16420, in CalculateStatistics raise e ExecuteError: Failed to execute. Parameters are not valid. ERROR 000732: Input Raster Dataset: Dataset D:\Freelance\Project PNLC\GeoSpatial\Taudem\srtm_ssa_noedge_t200_out.tif does not exist or is not supported Failed to execute (CalculateStatistics).

    Failed to execute (SlopeAreaStreamDef).

    The tools works fine if I don't run it with the Outlets shapefile.

    Any help on how to fix this would be much appreciated, or at least a direction where I can look for solutions. I guess I can always get back to Windows XP as the last resort.. :)

    Thanks in advance and regards from sunny Lagos Alex

    opened by GitZombieHub 1
  • MPI > 3.0... MPI_Type_extent to MPI_Type_get_extent

    MPI > 3.0... MPI_Type_extent to MPI_Type_get_extent

    I was wondering if anybody has patched TauDEM for the functions deprecated in MPI > 3.0. Specifically: MPI_Type_extent and MPI_Type_struct?

    If not, I will poke at it and update the issue with patch. Thanks! dan

    linklib.h: In function ‘bool sendLink(int32_t, int)’: linklib.h:281:17: error: call to ‘MPI_Type_extent’ declared with attribute error: MPI_Type_extent was removed in MPI-3.0. Use MPI_Type_get_extent instead. 281 | MPI_Type_extent(MPI_LONG, &extent); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ linklib.h:286:17: error: call to ‘MPI_Type_struct’ declared with attribute error: MPI_Type_struct was removed in MPI-3.0. Use MPI_Type_create_struct instead. 286 | MPI_Type_struct(2,blockcounts,offsets,oldtypes,&PointType); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ linklib.h: In function ‘bool recvLink(int)’: linklib.h:349:17: error: call to ‘MPI_Type_extent’ declared with attribute error: MPI_Type_extent was removed in MPI-3.0. Use MPI_Type_get_extent instead. 349 | MPI_Type_extent(MPI_LONG, &extent); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ linklib.h:354:17: error: call to ‘MPI_Type_struct’ declared with attribute error: MPI_Type_struct was removed in MPI-3.0. Use MPI_Type_create_struct instead. 354 | MPI_Type_struct(2,blockcounts,offsets,oldtypes,&PointType); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [makefile:218: streamnet.o] Error 1

    opened by vtdrfuka 1
  • Different DEM resolutions result in different stream networks for fixed threshold

    Different DEM resolutions result in different stream networks for fixed threshold

    TauDEM version: 5.3.7 using command-line tools

    For computational efficiency purposes I need to downscale the resolution of the input DEM from a cell size of 1m per side (1sq-meter cell area) to 5m per side (25sq-meters cell area). When I do so, the TauDEM tools generate a less "detailed" stream network for the 5m cell size than for the 1m cell size for the same 2sq-mile flow accumulation threshold: tributaries that show up on the 1m map do not show up on the 5m map.

    I've checked the results against the watersheds returned by the USGS Streamstats tool, and the stream network generated from the 1m DEM is correct.

    I've done some testing and found that if I divide the threshold by the cell size before passing, the stream network is generated correctly regardless of the input DEM cell size. That is, if the intended threshold is 20,000 sq-meters and the cell size is 5m passing an adjusted threshold of 4,000 into the Threshold tool returns the correct stream network. Similarly if the cell size is 10m, passing an adjusted threshold of 2,000 into the Threshold tool returns the expected network.

    My suspicion is that the area is not being calculated correctly; that the number of cells is being multiplied by the cell size (IE 5m) rather than the cell area of 25sq-meters. The work flow is as follows (is there a command-line flag I'm missing?)

    For each DEM resolution (5m in this example): mpiexec -n 8 PitRemove -z "WIN_0501_5-m.tif" -fel "dem_filled.tif" mpiexec -n 8 DinfFlowDir -fel "dem_filled.tif" -ang "flowdir.tif" -slp "slope.tif" mpiexec -n 8 AreaDinf -ang "flowdir.tif" -sca "flow_accumulation.tif" -nc For each threshold value (2589988sq-meters in this example): adjusted_threshold = threshold/cell_size mpiexec -n 8 Threshold -ssa "flow_accumulation.tif" -src "1-th-sqmi_5-cs_2589988-th-meters_not-adj.tif" -thresh 2589988.0 mpiexec -n 8 Threshold -ssa "flow_accumulation.tif" -src "1-th-sqmi_5-cs_517998-th-meters_adj.tif" -thresh 517998.0

    The attached PDF has some screenshots of the the varying outputs.
    2021-07-12-TauDEM area issue.pdf

    opened by jeremymatt 2
Releases(v5.3.8)
C++ library for geographical raster data analysis

Pronto Raster library The Pronto Raster Library is a C++ library to work with raster data. The core idea of the library is to make raster data accessi

Alex Hagen-Zanker 41 Jun 7, 2022
OpenOrienteering Mapper is a software for creating maps for the orienteering sport.

OpenOrienteering Mapper OpenOrienteering Mapper is an orienteering mapmaking program and provides a free and open source alternative to existing comme

null 324 Jul 28, 2022
2D and 3D map renderer using OpenGL ES

Tangram ES Tangram ES is a C++ library for rendering 2D and 3D maps from vector data using OpenGL ES. It is a counterpart to Tangram. This repository

Tangram 735 Jul 28, 2022
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL

Mapbox GL Native A C++ library that powers customizable vector maps in native applications on multiple platforms by taking stylesheets that conform to

Mapbox 4.2k Aug 11, 2022
C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API

libspatialindex Author: Marios Hadjieleftheriou Contact: [email protected] Revision: 1.9.3 Date: 10/23/2019 See http://libspatialindex.org for full doc

null 617 Jul 6, 2022
Alternative LAZ implementation for C++ and JavaScript

What is this? Alternative LAZ implementation. It supports compilation and usage in JavaScript, usage in database contexts such as pgpointcloud and Ora

Howard Butler 52 Aug 1, 2022
Computational geometry and spatial indexing on the sphere

S2 Geometry Library Overview This is a package for manipulating geometric shapes. Unlike many geometry libraries, S2 is primarily designed to work wit

Google 1.8k Aug 9, 2022
A C++17 image representation, processing and I/O library.

Selene Selene is a C++17 image representation, processing, and I/O library, focusing on ease of use and a clean, modern, type-safe API. Overview: Brie

Michael Hofmann 273 Aug 7, 2022
A fast algorithm for finding the pole of inaccessibility of a polygon (in JavaScript and C++)

A fast algorithm for finding polygon pole of inaccessibility, the most distant internal point from the polygon outline (not to be confused with centroid), implemented as a JavaScript library. Useful for optimal placement of a text label on a polygon.

Mapbox 1.2k Aug 10, 2022
A lean, efficient, accurate geohash encoder and decoder library implemented in C

Geohash encoder/decoder in C A lean, efficient, accurate geohash encoder and decoder library implemented in C. It does not depend on the C standard li

Christopher Wellons 18 May 30, 2022
A library of distance and occlusion generation routines

Distance/Occlusion Library + Tool From left to right: original, signed distance with zero at 0.5, red/green SDF, delta vectors to closest boundary poi

Andrew Willmott 98 Jan 3, 2022
MDE is a model extraction tool that converts Destiny 2 dynamic models into fbx files supporting textures, skeletons, and all provided vertex data.

MDE is a model extraction tool that converts Destiny 2 dynamic models into fbx files. A dynamic model is one that is animated or is spawned in during the game.

Montague 33 Aug 4, 2022
16 channel R/C system for models of all kinds

A 16 channel Radio Controlled system for R/C models of all kinds. This project was started during the 2020 pandemic lockdown (thus the title), and has since grown out of passion & enthusiasm.

Malcolm Messiter 7 Jul 8, 2022
This contains code and relevant schematics from my Applied Digital Signal Processing class, where we developed various digital filters on the NXP FRDM K22F development board.

#dsp_class Summary This repo is meant to hold any of the C and MATLAB programming I did over the course of my Applied Digital Signal Processing class

Abdullah Almosalami 1 Nov 11, 2021
Windows Elevation

What's this This project is mainly used to collect the commonly used exp of Windows platform and give the relevant repair scheme. On the one hand, it

Al1ex 464 Aug 8, 2022
PoC (DoS) for CVE-2021-40449 - Win32k Elevation of Privilege Vulnerability (LPE)

CallbackHell DoS PoC for CVE-2021-40449 (Win32k - LPE) CallbackHell Description Technical Writeup PoC References Description CVE-2021-40449 is a use-a

Oliver Lyak 415 Jul 28, 2022
Exploit for CVE-2021-40449 - Win32k Elevation of Privilege Vulnerability (LPE)

CallbackHell Exploit for CVE-2021-40449 (Win32k - LPE) CallbackHell Description Technical Writeup PoC References Description CVE-2021-40449 is a use-a

Oliver Lyak 415 Jul 28, 2022
Perimeter is a real-time strategy video game with unique gameplay elements such as terraforming deformable terrain, morphing units, energy network, protective shield and surreal worlds.

Периметр | Perimeter About Perimeter is a real-time strategy video game with unique gameplay elements such as terraforming deformable terrain, morphin

null 399 Jul 29, 2022
A software C library designed to extract data attributes from network packets, server logs, and from structured events in general, in order to make them available for analysis

MMT-DPI A software C library desinged to extract data attributes from network packets, server logs, and from structured events in general, in odrder t

Montimage 3 Apr 14, 2022
Probabilistic Risk Analysis Tool (fault tree analysis, event tree analysis, etc.)

SCRAM SCRAM is a Command-line Risk Analysis Multi-tool. This project aims to build a command line tool for probabilistic risk analysis. SCRAM is capab

Olzhas Rakhimov 113 Jul 1, 2022
Kodi is an award-winning free and open source software media player and entertainment hub for digital media

website • docs • community • add-ons Welcome to Kodi Home Theater Software! Kodi is an award-winning free and open source software media player and en

Team Kodi 14k Aug 9, 2022
IA-LIO-SAM is enhanced LIO-SAM using Intensity and Ambient channel from OUSTER LiDAR.

IA-LIO-SAM Construction monitoring is one of the key modules in smart construction. Unlike structured urban environment, construction site mapping is

Kevin Jung 74 Aug 4, 2022
Deep Scalable Sparse Tensor Network Engine (DSSTNE) is an Amazon developed library for building Deep Learning (DL) machine learning (ML) models

Amazon DSSTNE: Deep Scalable Sparse Tensor Network Engine DSSTNE (pronounced "Destiny") is an open source software library for training and deploying

Amazon Archives 4.4k Jul 30, 2022
The repository contains some examples of pre-trained SNN (Spiking Neural Network) models.

About the Project The repository contains some examples of pre-trained SNN (Spiking Neural Network) models. The models were trained using the MM-BP tr

ETRI 12 Dec 30, 2021
Software for making digital voice work without the smart hub in the way

Software for making digital voice work without the smart hub in the way

Charlie 2 Jun 7, 2022
VNOpenAI 23 Jul 31, 2022
Command line C++ and Python VSTi Host library with MFCC, FFT, RMS and audio extraction and .wav writing.

______ _ ___ ___ | ___ \ | | | \/ | | |_/ /___ _ __ __| | ___ _ __| . . | __ _ _ __

Leon Fedden 283 Aug 1, 2022
LIDAR(Livox Horizon) point cloud preprocessing, including point cloud filtering and point cloud feature extraction (edge points and plane points)

LIDAR(Livox Horizon) point cloud preprocessing, including point cloud filtering and point cloud feature extraction (edge points and plane points)

hongyu wang 11 Jul 22, 2022
a small C library for x86 CPU detection and feature extraction

libcpuid libcpuid provides CPU identification for the x86 (and x86_64). For details about the programming API, you might want to take a look at the pr

Veselin Georgiev 331 Jul 12, 2022