   (let [p (.inverseTransform pixel-to-stage-transform (Point2D$Double. x y) nil)]
     [(.x p) (.y p)]))      
 
+(defn origin-here-stage-to-pixel-transform
+  "Set the current location to the origin of the 
+   stage to pixel transform."
+  []
+  (set-destination-origin
+    (get-stage-to-pixel-transform)
+    (.getXYStagePosition gui)))
+
 ;; tagged image stuff
 
 (defn stack-colors

  (core setXYPosition (core getXYStageDevice) (.x position) (.y position)))
  
;; run using acquisitions

(defn initial-channel-display-settings [tagged-image-processors]
  (merge-with merge

    
(defn acquire-next-tile
  [available-tiles-agent screen-state-atom affine [tile-width tile-height]]
  (when-let [next-tile (next-tile @available-tiles-agent
                                  @screen-state-atom
                                  [tile-width tile-height])]
    (add-tiles-at available-tiles-agent next-tile affine))
  next-tile)

(def explore-executor (Executors/newFixedThreadPool 1))

