Skip to content
/ RCVS Public

Basic tools (Python) for geo-processing workflow of raster and vector data

Notifications You must be signed in to change notification settings

gjacopo/RCVS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RCVS

Module for automatisation of geo-processing workflow over raster and vector data.

Based on RIOS original module for Raster Computer Vision Simplification (as part of the RSGISLib library), this module extends the implementation for further integration of Computer Vision and Image Processing processing features. See references below.

Description

Python basic tools for geo-processing workflow of raster and vector data: - using the input/output utility functions of RIOS (Raster Input Output Simplification) module, itself based on gdal module, - using external Computer Vision and Image Processing processing (CVIP) algorithms provided (when installed independently) by modules like PIL, OpenCV (i.e. cv2), skimage, matplotlib and/or scipimage.

This way, a 'simple' definition of processing workflow is possible

Note

Only the applier (block) processor has been override: this functionality is available (in the original code) through the apply function of the module applier.py. This function has been rewritten (and improved) in overriding rcvs.cvapplier method.

The main features of the new rcvs.cvapplier method are:

  • apply a workflow of CVIP methods over the raster images through appropriate redirection/reformatting of input/output block of data as it deals with all the array format conversions necessary for 'communication' between the different CVIP modules used,
  • process blocks in parallel through a map/reduce (namely: apply_async/reduce) like schema as it supports block and CPU multiprocessing,
  • return or write multiple outputs.

Note that from version 1.2, parallel implementation has also been incorporated (using either multiprocessing or mpi module) in RIOS.

Examples

As to demonstrate how to reproduce some of the standard/simple CVIP processing workflows, some examples provided by CVIP platforms have been adapted using RCVS, namely:

  • RANSAC matching with skimage methods,
  • SLIC segmentation with skimage methods,
  • pyramid decomposition with OpenCV methods,
  • template matching with OpenCV methods,

as well as some independent implementations:

  • image cross-correlation.

Dependencies

require: gdal, rios, numpy, scipy, Queue, multiprocessing, math, re, inspect, operator, itertools, collections

optional: cv2, skimage, PIL, matplotlib, vigra, mahotas, pathos

About

version 1.0 (non-active development)
since Fri May 31 10:20:51 2013
license EUPL (cite the source code or the report below!)

References

Releases

No releases published

Packages

No packages published

Languages