# This script demonstrates how to export raw xy data and processed data as separate data files. # This is a sample script that illustrates how zanscript can be written to run an experiment and deliver some example data. # Zantiks Ltd cannot guarantee this is how you want to run your experiments, this script is offered only to demonstrate the # capabilities of the system and assist you in learning how to script for your research. #defines timings of experiment below DEFINE NUM_SAMPLES 10 DEFINE TIME_BIN 1 #define the animal model tracking requirments (dependent on animal size) SET(TARGET_SIZE,2) SET(DETECTOR_THRESHOLD,6) #define auto reference tracking requirements SET(AUTOREF_MODE,MOVEMENT) SET(AUTOREF_TIMEOUT,0) #defines settings for track drawing and track length DEFINE X_DRAWTRACKS 30011 DEFINE X_TRACKTIME 30016 #sets up separate data file for XY data (LOGFILE 0 = default) LOGFILE(1,"XY_data") SET(LOG_STREAM_PERFRAME,1) ############################### ACTION MAIN #sets the data output counter label to begin at 0 SET(COUNTER1,COUNTER_ZERO) #this .bmp file is required in assets directory for tracking LOAD(ARENAS,"a24.bmp") #creates headers for columns in the processed data file LOGCREATE("TEXT:RUNTIME|TEXT:UNIT|TEXT:TEMPERATURE|TEXT:TIME_BIN|TEXT:ARENA") LOGAPPEND("TEXT:A1|TEXT:A2|TEXT:A3|TEXT:A4|TEXT:A5|TEXT:A6") LOGAPPEND("TEXT:B1|TEXT:B2|TEXT:B3|TEXT:B4|TEXT:B5|TEXT:B6") LOGAPPEND("TEXT:C1|TEXT:C2|TEXT:C3|TEXT:C4|TEXT:C5|TEXT:C6") LOGAPPEND("TEXT:D1|TEXT:D2|TEXT:D3|TEXT:D4|TEXT:D5|TEXT:D6") LOGRUN() #tells system we are now talking about LOGFILE 1, i.e. XY data sheet SET(LOG_STREAM,1) #writes headers for columns in the raw XY data file LOGCREATE("TEXT:RUNTIME|TEXT:X_A1|TEXT:Y_A1|TEXT:X_A2|TEXT:Y_A2|TEXT:X_A3|TEXT:Y_A3") LOGAPPEND("TEXT:X_A4|TEXT:Y_A4|TEXT:X_A5|TEXT:Y_A5|TEXT:X_A6|TEXT:Y_A6") LOGAPPEND("TEXT:X_B1|TEXT:Y_B1|TEXT:X_B2|TEXT:Y_B2|TEXT:X_B3|TEXT:Y_B3") LOGAPPEND("TEXT:X_B4|TEXT:Y_B4|TEXT:X_B5|TEXT:Y_B5|TEXT:X_B6|TEXT:Y_B6") LOGAPPEND("TEXT:X_C1|TEXT:Y_C1|TEXT:X_C2|TEXT:Y_C2|TEXT:X_C3|TEXT:Y_C3") LOGAPPEND("TEXT:X_C4|TEXT:Y_C4|TEXT:X_C5|TEXT:Y_C5|TEXT:X_C6|TEXT:Y_C6") LOGAPPEND("TEXT:X_D1|TEXT:Y_D1|TEXT:X_D2|TEXT:Y_D2|TEXT:X_D3|TEXT:Y_D3") LOGAPPEND("TEXT:X_D4|TEXT:Y_D4|TEXT:X_D5|TEXT:Y_D5|TEXT:X_D6|TEXT:Y_D6") LOGRUN() #exports raw XY data for all arenas LOGCREATE ("RUNTIME|RAW_XY:A1-24") #tells system we are talking about LOGFILE 0 i.e. processed data sheet SET(LOG_STREAM,0) AUTOREFERENCE() #starts logging raw XY data SET(LOG_PERFRAME,ON) #starts track drawing SET(X_DRAWTRACKS, 1) INVOKE(SAMPLE,NUM_SAMPLES) #stopps logging raw XY data SET(LOG_PERFRAME,OFF) COMPLETE ############################################ ACTION SAMPLE SET(COUNTER1,COUNTER_INC) LOGDATA(DATA_SNAPSHOT,"begin") WAIT(TIME_BIN) LOGDATA(DATA_SNAPSHOT,"end") LOGDATA(DATA_SELECT,"begin") LOGDATA(DATA_DELTA,"end") #exports processed data for all arenas LOGCREATE("RUNTIME|APPARATUS_ID|TEMPERATURE1") LOGAPPEND("COUNTER1|TEXT:DISTANCE|ARENA_DISTANCES*") LOGRUN() COMPLETE