       :doZStack_               :use-z-stack
       :skipFactorFrame_        :skip-frames
       :useChannel_             :use-channel
+      :color_                  :color
     )
+    (dissoc :name_ :contrast16_ :contrast8_ :min_ :max_)
     (assoc :properties (get-config (. mmc getChannelGroup) (.config_ chan)))))
 
 (defn MultiStagePosition-to-map [^MultiStagePosition msp]

                         (.getModifiers f) java.lang.reflect.Modifier/STATIC))]
      [(keyword (.getName f)) (.get f obj)])))

(defmacro apply-method [& args]
  `(~@(drop-last args) ~@(eval (last args))))

;; utils
(defn rekey
  ([m kold knew]
    (-> m (dissoc kold) (assoc knew (get m kold))))

    (reduce #(apply rekey %1 %2)
      m (partition 2 (conj ks knew kold)))))

;; mm utils
(defn get-default-devices []
  {:camera          (. mmc getCameraDevice)
   :shutter         (. mmc getShutterDevice)
