Skip to content

Commit

Permalink
Add Implicit Equalization Methods for RDDs
Browse files Browse the repository at this point in the history
  • Loading branch information
James McClain committed Oct 10, 2016
1 parent 5223b66 commit 6c0379d
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
15 changes: 15 additions & 0 deletions spark/src/main/scala/geotrellis/spark/equalization/Implicits.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package geotrellis.spark.equalization

import geotrellis.raster._
import geotrellis.spark._

import org.apache.spark.rdd.RDD


object Implicits extends Implicits

trait Implicits {
implicit class withRDDSinglebandEqualizationMethods[K, M](val self: RDD[(K, Tile)] with Metadata[M]) extends RDDSinglebandEqualizationMethods[K, M]

implicit class withRDDMultibandEqualizationMethods[K, M](val self: RDD[(K, MultibandTile)] with Metadata[M]) extends RDDMultibandEqualizationMethods[K, M]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package geotrellis.spark.equalization

import geotrellis.raster._
import geotrellis.raster.histogram.StreamingHistogram
import geotrellis.spark._
import geotrellis.util.MethodExtensions

import org.apache.spark.rdd.RDD


trait RDDMultibandEqualizationMethods[K, M] extends MethodExtensions[RDD[(K, MultibandTile)] with Metadata[M]] {
def equalize(): RDD[(K, MultibandTile)] with Metadata[M] =
RDDHistogramEqualization.multiband(self)

def equalize(histograms: Array[StreamingHistogram]): RDD[(K, MultibandTile)] with Metadata[M] =
RDDHistogramEqualization.multiband(self, histograms)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package geotrellis.spark.equalization

import geotrellis.raster._
import geotrellis.raster.histogram.StreamingHistogram
import geotrellis.spark._
import geotrellis.util.MethodExtensions

import org.apache.spark.rdd.RDD


trait RDDSinglebandEqualizationMethods[K, M] extends MethodExtensions[RDD[(K, Tile)] with Metadata[M]] {
def equalize(): RDD[(K, Tile)] with Metadata[M] =
RDDHistogramEqualization.singleband(self)

def equalize(histogram: StreamingHistogram): RDD[(K, Tile)] with Metadata[M] =
RDDHistogramEqualization.singleband(self, histogram)
}
1 change: 1 addition & 0 deletions spark/src/main/scala/geotrellis/spark/package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ package object spark
extends buffer.Implicits
with crop.Implicits
with density.Implicits
with equalization.Implicits
with filter.Implicits
with join.Implicits
with knn.Implicits
Expand Down

0 comments on commit 6c0379d

Please sign in to comment.