CLI Libraries

main

Crop Rows Main.

author:Andres Herrera
begin:2018-02-22
copyright:2018 by Andres Herrera - Universidad del Valle
email:fabio.herrera@correounivalle.edu.co

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This script initializes the plugin, making it known to QGIS.

main.cropRowsMain()

cropRowsMain.

Parameters:self – no input params
Returns:None

globals

Crop Rows Globals

croprows_globals.main()

main. croprows_globals

utils

Crop Rows Utils

croprows_utils.angleBetween(startPoint, endPoint)

angleBetween.

Parameters:
  • startPoint – (Point) start point.
  • endPoint – (Point) end point.
Returns angle:

(double) angle in radians.

croprows_utils.fileNumberIndex(x)

fileNumberIndex.

Parameters:x – (String) file index.
Returns x[0]:(String) split file index.
croprows_utils.findIfClose(firstContour, secondContour)

findIfClose. Find if contour is close

Parameters:
  • firstContour – (Contour) start value.
  • secondContour – (Contour) end value.
Returns range:

(boolean) 1: if contour is close 0: is not close

croprows_utils.getAzimuth(startPointX, startPointY, endPointX, endPointY)

getAzimuth.

Parameters:
  • startPointX – (double) x coord of start point.
  • startPointY – (double) y coord of start point.
  • endPointX – (double) x coord of end point.
  • endPointY – (double) y coord of end point.
Returns azimuthAngle:
 

(double) angle in radians.

croprows_utils.getOpenCVVersion()

getOpenCVVersion.

Parameters:none – no input params.
Returns:OpenCV version.
croprows_utils.main()

croprows utils module

croprows_utils.makeDirectory(dirPath)

makeDirectory. print in console messages

Parameters:dirPath – (os.path) message to be printed
Returns none:(void)
croprows_utils.midPoint(startPoint, endPoint)

midPoint.

Parameters:
  • startPoint – (Point) start point.
  • endPoint – (Point) end point.
  • endPointX – (double) x coord of end point.
  • endPointY – (double) y coord of end point.
Returns midPoint:
 

(Point) mid point.

croprows_utils.preProcessingContours(contoursAll)

preProcessingContours. Pre processing contours

Parameters:contoursAll – (Contour) all contours
Returns smoothedContoursArray:
 (Contour) all smoothed contours preprocessed
croprows_utils.preProcessingFilteredContours(contoursAll)

preProcessingFilteredContours. Pre processing filtered contours

Parameters:contoursAll – (Contour) all contours
Returns contoursFiltered:
 (Contour) all contours filtered
croprows_utils.printLogMsg(msgString)

printLogMsg. print in console messages

Parameters:msgString – (String) message to be printed
Returns stdout:(String) message
croprows_utils.removeAdjacentsInArray(contourArray)

removeAdjacentsInArray. remove adjacents in array

Parameters:contourArray – (Array) all contours
Returns noAdjacentsArray:
 (Array) adjacents removed and with last array value
croprows_utils.setRange(start, end, step)

setRange.

Parameters:
  • start – (int) start value.
  • end – (int) end value.
  • step – (int) step value.
Returns range:

(list) list of number generated

croprows_utils.sortContours(contours, method='left-to-right')
sortContours. Sort Contours
See: https://www.pyimagesearch.com/2015/04/20/sorting-contours-using-python-and-opencv/
Parameters:
  • contours – (Contour) contours to be sorted
  • method – (Options) left-to-right , bottom-to-top , top-to-bottom
Returns contours:
 

(Contour) list of sorted contours

Returns boundingBoxes:
 

(BBox) list of sorted bounding boxes

fileutils

Crop Rows Fileutils

class croprows_fileutils.CropRowsAnglesGenerator

Bases: object

angleMean = 0
angleSd = 0
anglesFoundArray = 0
anglesGeneration(cfgAnglesGenerator)

anglesGeneration.

Parameters:cfgAnglesGenerator – (Array) angles generator config.
Returns angle:(double) angle.
getAnglesGeneratorGlobals()

getAnglesGeneratorGlobals.

Parameters:self – (None).
Returns anglesFoundArray:
 angles found array.
Returns angleMean:
 angles mean.
Returns angleSd:
 angles standard derivation.
class croprows_fileutils.CropRowsTilesGenerator

Bases: object

cropTileImageWorker(iCol, jRow, pixelTile, dirName, processingImageFile, optionForProcessing)

Thread worker function for crop image into tiles

dirName = ''
getTilesGenerationGlobals()

getTilesGenerationGlobals.

Parameters:self – (None).
Returns dirName:
 tiles directory name.
Returns nCols:num columns.
Returns nRows:num rows.
nCols = 0
nRows = 0
tilesGeneration(cfgTilesGenerator)
croprows_fileutils.croprowsFileReader(xmlProjectFile)

croprowsFileReader.

Parameters:xmlProjectFile – (String) xmlProjectFile.
Returns None:none.
croprows_fileutils.generateCropRowsLinesAll(cfgLinesGenerator)

generateCropRowsLinesAll.

Parameters:cfgLinesGenerator – (Array) config lines generator array. :returns None: None.
croprows_fileutils.generateLinesFile(dirName, fileNameValue, contourFile, meanAngleFitElipseContours, pixelSizeValue, imageExtentsValue, epsgValue, col, row, tileSizeValue)

generateLinesFile.

Parameters:
  • dirName – (String) dir name.
  • fileNameValue – (String) file name.
  • contourFile – (String) contour file name.
  • meanAngleFitElipseContours – (double) mean angle from contours.
  • pixelSizeValue – (int) pixel size.
  • imageExtentsValue – (Array) image extents.
  • epsgValue – (int) epsg code from spatial reference system.
  • col – (int) column.
  • row – (int) row.
  • tileSizeValue – tile size.
Returns None:

None.

croprows_fileutils.main()

croprows file utils module

croprows_fileutils.saveResultXMLFile(resultingFiles)

saveResultXMLFile.

Parameters:resultingFiles – (Array) crop rows results. :returns None: (none) none.

geo

croprows_geo.extendAllLinesInParallel(tilesDirName, epsgValue, iCols, jRows, maskVectorFile, seedValue)

extendAllLinesInParallel.

Parameters:
  • tilesDirName – (String) tile directory name.
  • epsgValue – (String) code for refrerence system.
  • iCols – (int) current column.
  • jRows – (int) current row.
  • maskVectorFile – (String) mask file name.
  • seedValue – (int) seed for crop rows orientation.
Returns none:

None.

croprows_geo.extendAllMergedLines(dirPathLines, vectorMask, epsgValue)

extendAllMergedLines.

Parameters:dirPathLines – (text) path :param vectorMask: (text) path :param epsgValue: (text) epsg value
Returns:OpenCV version.
croprows_geo.extendLinesGeom(col, row, epsgValue, dirNameVectorResults, dirNameVectorObjResults, boundsVectorFile, linesVectorFile, maskVectorFile, seedValue)

extendLinesGeom.

Parameters:
  • col – (int) current column.
  • row – (int) current row.
  • dirNameVectorResults – (String) vector dir path.
  • boundsVectorFile – (String) bounds file.
  • linesVectorFile – (String) lines file.
  • maskVectorFile – (String) mask file.
Returns none:

(None) nothing.

croprows_geo.extendProcessing(boxGeoDataFrame, linesGeoDataFrame, epsgValue, dirNameVectorObjResults, linesExtendedFileName, vectorMask, col, row, seedValue)

extendProcessing.

Parameters:
  • boxGeoDataFrame – (Box) box
  • linesGeoDataFrame – (int) lines
  • epsgValue – (int) spatial reference system
  • dirNameVectorObjResults – (String) vector objects folder
  • linesExtendedFileName – (String) lines extended file.
  • seedValue – (int) seed for crop rows orientation.
Returns none:

None.

croprows_geo.getExtrapoledLine(startPoint, endPoint)

getExtrapoledLine. Creates a line extrapoled in startPoint->endPoint direction

Parameters:
  • startPoint – (Point) start point.
  • endPoint – (Point) end point.
Returns LineString:
 

(LineString) line.

croprows_geo.main()

croprows geo module

croprows_geo.mergeAllLines(dirPathLines, epsgValue)

mergeAllLines.

Parameters:dirPathLines – (String) path. :param epsgValue: (int) epsg code.
Returns none:None.
croprows_geo.mergeAllPoints(dirPathLines, epsgValue)

mergeAllPoints.

Parameters:
  • dirPathLines – (text) path lines directory.
  • epsgValue – (int) epsg code.
Returns None:

(None).

croprows_geo.min_distance(point, lines)
croprows_geo.postProcessingLines(cfgPostProcessingLines)

postProcessingLines.

Parameters:cfgPostProcessingLines – (Array) lines postprocessing config array.
Returns:none.

image_preprocessing

Crop Rows Image Processing

croprows_image_preprocessing.adjustGamma(inputRasterImage, gamma=1.0)

ajustGamma.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • gamma – (double) gamma value.
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.autoCannyEdgeDetection(inputRasterImage, sigma=0.33)

autoCannyEdgeDetection.

Parameters:inputRasterImage – (Image) image to process :param sigma: (double) sigma value
Returns outputRasterImage:
 (Image) outputRasterImage.
croprows_image_preprocessing.buildContours(inputRasterImage, seed, tolerance)

buildContours.

Parameters:
  • inputRasterImage – (Image) image.
  • seed – (int) seed.
  • tolerance – (double) tolerance.
Returns imgContours:
 

(Array) imgContours.

Returns contoursAll:
 

(Array) contoursAll.

Returns contoursFiltred:
 

(Array) contoursFiltred.

Returns angleFitMinAreaRect:
 

(double) angleFitMinAreaRect.

Returns meanAngleFitMinAreaRect:
 

(double) meanAngleFitMinAreaRect.

Returns angleFitElipseContours:
 

(double) angleFitElipseContours.

Returns meanAngleFitElipseContours:
 

(double) meanAngleFitElipseContours.

croprows_image_preprocessing.calcCIVEIndex(inputRasterImage, mode)

calcCIVEIndex.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • mode – (String) mode RGB or GBR
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.calcExGIndex(inputRasterImage, mode)

calcExGIndex.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • mode – (String) mode RGB or GBR
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.calcExGlessExGIndex(inputRasterImage, mode)

calcExGlessExGIndex.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • mode – (String) mode RGB or GBR
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.calcExRIndex(inputRasterImage, mode)

calcExRIndex.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • mode – (String) mode RGB or GBR
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.calcNDIIndex(inputRasterImage, mode)

calcNDIIndex.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • mode – (String) mode RGB or GBR
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.calcNDVIIndex(inputRasterImage, mode)

calcNDVIIndex.

Parameters:
  • inputRasterImage – (Image) input raster image.
  • mode – (String) mode RGB or GBR
Returns outputRasterImage:
 

(Image) output raster image.

croprows_image_preprocessing.contrastStretch(inputRasterImage)

contrastStretch.

Parameters:inputRasterImage – (Image) input raster image.
Returns outputRasterImage:
 (Image) output raster image.
croprows_image_preprocessing.drawContours(inputRasterImage, contours)

drawContours.

Parameters:
  • inputRasterImage – (Image) image to process.
  • contours – (Contour) contours.
Returns outputRasterImage:
 

(Image) RasterImage.

Returns outputImageContousSmallBoxes:
 

(Image) ImageContousSmallBoxes.

Returns cloneRasterImageForAxisInBox:
 

(Image) RasterImageForAxisInBox.

croprows_image_preprocessing.exgThresholdOtsu(inputRasterImage)

exgThresholdOtsu.

Parameters:inputRasterImage – (Image) input raster image.
Returns outputRasterImage:
 (Image) output raster image.
croprows_image_preprocessing.histogramEqualize(inputRasterImage)

histogramEqualize.

Parameters:inputRasterImage – (Image) input image
Returns outputRasterImage:
 (Image) Equalized Image
croprows_image_preprocessing.imageGreenMask(inputRasterImage)

imageGreenMask.

Parameters:inputRasterImage – (Image) image to process. :returns greenMaskImage: (Image) green mask image.
Returns bitwiseOutputImage:
 (Image) bitwise output image.
croprows_image_preprocessing.imagePreProcessing(inputRasterImage)

imagePreProcessing.

Parameters:inputRasterImage – (Image) input raster image.
Returns outputRasterImage:
 (Image) output raster image.
croprows_image_preprocessing.imageSegmentation(inputRasterImage)

imageSegmentation.

Parameters:inputRasterImage – (Image) image to process. :returns outputRasterImage: (Image) output image.
croprows_image_preprocessing.imageVegetationIndex(inputRasterImage)

imageVegetationIndex.

Parameters:inputRasterImage – (Image) input raster image.
Returns outputRasterImage:
 (Image) output raster image.
croprows_image_preprocessing.main()

croprows image processing module

croprows_image_preprocessing.preProcessingPipeline(inputRasterImage)

preProcessingPipeline.

Parameters:inputRasterImage – (Image) image to process
Returns outputRasterImage:
 (Image) outputRasterImage. :returns maskRasterOut: (Image) mask_out. :returns vegetationIndexImage: (Image) vegetation index image.
croprows_image_preprocessing.readRGBImageByUrl(inputRasterImage)

readRGBImageByUrl.

Parameters:inputRasterImage – (String) input image filename
Returns outputRasterImage:
 (Image) RGB Image
croprows_image_preprocessing.smoothingPreProcessing(inputRasterImage, mW, gW)

smoothingPreProcessing.

Parameters:
  • inputRasterImage – (Image) input image.
  • mW – (double) param mW.
  • gW – (double) param gW.
Returns medianBlurImage:
 

(Image) median blur Image.

Returns gausianBlurImage:
 

(Image) gausian blur Image.