                 (swap! screen-state assoc :xy-stage-position
                        (affine/point-to-vector pixel)))))
           (swap! screen-state merge
-                 {:mode :explore
+                 {:acq-settings settings
+                  :mode :explore
                   :channels (initial-lut-maps first-seq)
                   :tile-dimensions [(core getImageWidth)
                                     (core getImageHeight)]})

  (when-let [next-tile (next-tile @screen-state-atom
                                  acquired-images)]
    (add-tiles-at memory-tiles-atom next-tile affine acquired-images
                  (@screen-state-atom :tile-dimensions))
    next-tile))

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


(def image-processing-executor (Executors/newFixedThreadPool 1))
 
(defn add-tiles-at [memory-tiles [nx ny] affine-stage-to-pixel acquired-images tile-dimensions
                    settings]
  (swap! acquired-images conj [nx ny])
  (let [[tile-width tile-height] tile-dimensions]
    (doseq [image (doall (acquire-at (inverse-transform
                                       (Point. (* tile-width nx)
                                               (* tile-height ny))
                                       affine-stage-to-pixel)
                                     settings))]
      (let [indices {:nx nx
                     :ny ny
                     :nz (get-in image [:tags "SliceIndex"])
