   [^BufferedImage img noise-ratio]
   (let [width (.getWidth img)
         height (.getHeight img)
-        ^int pixels (imagez/get-pixels img)
+        ^ints pixels (imagez/get-pixels img)
         num-pixels (alength pixels)
         num-noisy-pixels (* noise-ratio num-pixels)
         locations-to-edit (take num-noisy-pixels (shuffle (range num-pixels)))

    [java.awt.geom AffineTransform]))


(defn- generate-random-int-pixel
  []
  (think-pixel/pack-pixel (rand-int 255) (rand-int 255) (rand-int 255) 255))


(defn rotate-img-embiggen
  "rotate the image by a given angle, increasing the size of the result
  image to ensure that it is fully contained."
  ([^BufferedImage img r] (rotate-img-emb-impl img r (* 0.5 (.getWidth img)) (* 0.5 (.getHeight img))))
  ([img r x y] (rotate-img-emb-impl img r x y)))

(defn make-noise-image [^BufferedImage img]
  (let [height (.getHeight img)
        width (.getWidth img)
        new-img (imagez/new-image width height)
        ^ints pxls (imagez/get-pixels img)]
    (dotimes [i (* width height)]
      (aset pxls i (generate-random-int-pixel)))
    (imagez/set-pixels new-img pxls)
