"30Green-TX2":"Vph1-mRUBY2",
                    "30Violet-SAPPHIRE":"Tom70-TSapphire",
                    "30Violet-DAPI":"Psr1-mTagBFP2"}



##########################################################
###           Stage  Positions                         ###
##########################################################

## Provide a MManager .pos file path or a list of 
## stage_positions.StagePosition objects

positions_file = r"D:\PoistionLists\20161116_PosList.pos"
log_file_path = r"D:\MMLogs"
positions = stage_positions.positions_list_from_json(positions_file)
afc_override = None

if afc_override is not None:
    for position in positions:
        position.afc = 10646.9700 

##########################################################
###               Saving settings                      ###
##########################################################

## File name prefix
file_name_prefix = "20161116_4ColorYeast"
log_file_name = "20161116_4ColorYeast.log"
## Where to save the data?
## DO NOT set this to the C: drive. IT WILL FILL UP.
 def __init__(self,
             verbose=False,
             positions_path="",
             channels={},
             z_params={},
             save_dir="",
             n_timepoints=1,
             starting_t=0,
             frequency=300,
             file_name_prefix="MDA",
             backup_save_path="",
             experiment_metadata={},
             stage_position_list=[],
             afc_on_during_move=True,
             scope=None,
             file_log=True,
             delay_after_move = .1,
             restarts_allowed = 2,
             end_location_settings=[],
             scope_name = "",
             path_to_config = None,
             path_to_micromanager = None,
             log_file_path = None,
             synchro_devices = [],
             state_dump_path = None
             ):
     """Initilization of Timelapse MDA object.
     """
     self.state_dump_path = state_dump_path
     self.scope_name = scope_name
     self.mm_config = path_to_config
     self.mm_path = path_to_micromanager
     self.mm_log_path = log_file_path
     self.scope = scope
     self.verbose = verbose
     self.restarts_allowed = restarts_allowed
     self.restarts_used = 0
     self.force_focus = False
     if file_log:
         self.file_log = []
     if positions_path: ## if a path to a position list file was provided
         try:
             self.positions = stage_positions.positions_list_from_json(positions_path)
         except:
             print "Could not load pos list from %s" % positions_path 
             raise ValueError('Could not load your position list!')
     elif stage_position_list:
         print "Using stage_positions_provided"
         self.positions = {i.LABEL:i for i in stage_position_list}
     self.pos_order = sorted(self.positions.keys(), key= lambda x: int(x[3:]))
     self.channels = channels
     self.z_params = z_params
     self.save_dir = save_dir
     self.path_set_up = False
     self.n_timepoints=n_timepoints
     self.starting_t=starting_t
     self.frequency=frequency
     self.file_name_prefix=file_name_prefix
     self.backup_save_path=backup_save_path
     self.experiment_metadata=experiment_metadata
     self.progress={}
     self.errors={}
     self.last_attempted_t = 0
     self.afc_on_during_move = afc_on_during_move
     self.delay_after_move = delay_after_move
     self.end_location_settings = end_location_settings
     self.synchronized_devices = synchro_devices
     self.start_times = {}