       (map-config (core getSystemStateCache))
       {
        "AxisPositions" (when-let [axes (get-in event [:position :axes])] (JSONObject. axes))
-       "Binning" (core getProperty (core getCameraDevice) "Binning")
-       "BitDepth" (core getImageBitDepth)
+       "Binning" (state :binning)
+       "BitDepth" (state :bit-depth)
        "Channel" (get-in event [:channel :name])
        "ChannelIndex" (:channel-index event)
        "ElapsedTime-ms" (elapsed-time state)

       "Frame" (:frame-index event)
       "Height" (state :init-height)
       "NextFrame" (:next-frame-index event)
       "PixelSizeUm" (core getPixelSizeUm)
       "PixelType" (get-pixel-type)
       "PositionIndex" (:position-index event)
       "PositionName" (if-let [pos (:position event)] (if-args #(.getLabel %) (get-msp pos)))
       "Slice" (:slice-index event)
       "SlicePosition" (:slice event)
       "Source" (core getCameraDevice)
       "Time" (get-current-time-str)
       "UUID" (UUID/randomUUID)
       "Width"  (state :init-width)

        tags (if (and t (pos? t))
               (assoc tags "ElapsedTime-ms" t)
               (dissoc tags "ElapsedTime-ms"))]
   ; (println "cam-t: " t ", collect-t: " (elapsed-time @state)
   ;      ", remaining-images: " (core getRemainingImageCount))
    {:pix pix :tags (dissoc tags "StartTime-ms")}))

(defn collect-snap-image []
