You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by cm...@apache.org on 2019/03/05 00:14:16 UTC
[incubator-mxnet] branch master updated: [clojure-package] improve
docstrings in `image.clj` (#14307)
This is an automated email from the ASF dual-hosted git repository.
cmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/master by this push:
new 21f67bd [clojure-package] improve docstrings in `image.clj` (#14307)
21f67bd is described below
commit 21f67bdb5564dccda7d5d681871302994d76b5dc
Author: Arthur Caillau <Ch...@users.noreply.github.com>
AuthorDate: Tue Mar 5 01:13:51 2019 +0100
[clojure-package] improve docstrings in `image.clj` (#14307)
---
.../src/org/apache/clojure_mxnet/image.clj | 76 ++++++++++++++++++++--
1 file changed, 69 insertions(+), 7 deletions(-)
diff --git a/contrib/clojure-package/src/org/apache/clojure_mxnet/image.clj b/contrib/clojure-package/src/org/apache/clojure_mxnet/image.clj
index e2e87ed..7fb603e 100644
--- a/contrib/clojure-package/src/org/apache/clojure_mxnet/image.clj
+++ b/contrib/clojure-package/src/org/apache/clojure_mxnet/image.clj
@@ -16,6 +16,7 @@
;;
(ns org.apache.clojure-mxnet.image
+ "Image API of Clojure package."
(:require [t6.from-scala.core :refer [$ $$] :as $]
[org.apache.clojure-mxnet.dtype :as dtype]
[org.apache.clojure-mxnet.ndarray :as ndarray]
@@ -37,7 +38,18 @@
(s/keys :opt-un [::color-flag ::to-rgb ::output]))
(defn decode-image
- "Decodes an image from an input stream"
+ "Decodes an image from an input stream with OpenCV
+ `input-stream`: `InputStream` - Contains the binary encoded image
+ `color-flag`: 0 or 1 - Convert decoded image to grayscale (0) or color (1)
+ `to-rgb`: boolean - Whether to convert decoded image to mxnet's default RGB
+ format (instead of opencv's default BGR)
+ `output`: nil or `NDArray`
+ returns: `NDArray` with dtype uint8
+
+ Ex:
+ (decode-image input-stream)
+ (decode-image input-stream {:color-flag 1})
+ (decode-image input-stream {:color-flag 0 :output nd})"
([input-stream {:keys [color-flag to-rgb output]
:or {color-flag COLOR to-rgb true output nil}
:as opts}]
@@ -54,7 +66,19 @@
(s/or :none nil? :some ::to-rgb))
(defn read-image
- "Reads an image file and returns an ndarray"
+ "Reads an image file and returns an ndarray with OpenCV. It returns image in
+ RGB by default instead of OpenCV's default BGR.
+ `filename`: string - Name of the image file to be loaded
+ `color-flag`: 0 or 1 - Convert decoded image to grayscale (0) or color (1)
+ `to-rgb`: boolean - Whether to convert decoded image to mxnet's default RGB
+ format (instead of opencv's default BGR)
+ `output`: nil or `NDArray`
+ returns: `NDArray` with dtype uint8
+
+ Ex:
+ (read-image \"cat.jpg\")
+ (read-image \"cat.jpg\" {:color-flag 0})
+ (read-image \"cat.jpg\" {:color-flag 1 :output nd})"
([filename {:keys [color-flag to-rgb output]
:or {color-flag nil to-rgb nil output nil}
:as opts}]
@@ -74,7 +98,17 @@
(s/def ::optional-int (s/or :none nil? :some int?))
(defn resize-image
- "Resizes the image array to (width, height)"
+ "Resizes the image array to (width, height)
+ `input`: `NDArray` - source image in NDArray
+ `w`: int - Width of resized image
+ `h`: int - Height of resized image
+ `interpolation`: Interpolation method. Default is INTER_LINEAR
+ `ouput`: nil or `NDArray`
+ returns: `NDArray`
+
+ Ex:
+ (resize-image nd-img 300 300)
+ (resize-image nd-img 28 28 {:output nd})"
([input w h {:keys [interpolation output]
:or {interpolation nil output nil}
:as opts}]
@@ -88,7 +122,21 @@
(resize-image input w h {})))
(defn apply-border
- "Pad image border"
+ "Pad image border with OpenCV.
+ `input`: `NDArray` - source image in NDArray
+ `top`: int - Top margin
+ `bottom`: int - Bottom margin
+ `left`: int - Left margin
+ `right`: int - Right margin
+ `fill-type`: nil or Filling type - Default BORDER_CONSTANT
+ `value`: nil or double - Deprecated, use `values` instead
+ `values`: Fill with value(RGB or gray), up to 4 channels
+ `output`: nil or `NDArray`
+ returns: `NDArray`
+
+ Ex:
+ (apply-border img-nd 1 1 1 1)
+ (apply-border img-nd 3 3 0 0)"
([input top bottom left right
{:keys [fill-type value values output]
:or {fill-type nil value nil values nil output nil}
@@ -109,7 +157,17 @@
(apply-border input top bottom left right {})))
(defn fixed-crop
- "Return a fixed crop of the image"
+ "Return a fixed crop of the image.
+ `input`: `NDArray` - Source image in NDArray
+ `x0`: int - Starting x point
+ `y0`: int - Starting y point
+ `w`: int - Width of the image
+ `h`: int - Height of the image
+ returns: cropped `NDArray`
+
+ Ex:
+ (fixed-crop nd-img 0 0 28 28)
+ (fixed-crop nd-img 10 0 100 300)"
[input x0 y0 w h]
(util/validate! ::ndarray input "Invalid input array")
(util/validate! ::int x0 "Invalid starting x coordinate")
@@ -119,7 +177,9 @@
(Image/fixedCrop input x0 y0 w h))
(defn rgb-array?
- "Returns whether the ndarray is in the RGB format"
+ "Returns whether the ndarray is in the RGB format
+ `input`: `NDArray` - Source image in NDArray
+ returns: boolean"
[input]
(util/validate! ::ndarray input "Invalid input array")
(let [shape (ndarray/shape-vec input)]
@@ -133,7 +193,9 @@
(s/and ::ndarray ::all-bytes ::rgb-array))
(defn to-image
- "Convert a NDArray image in RGB format to a real image"
+ "Convert a NDArray image in RGB format to a real image.
+ `input`: `NDArray` - Source image in NDArray
+ returns: `BufferedImage`"
[input]
(util/validate! ::to-image-ndarray input "Invalid input array")
(Image/toImage input))