library(dplyr)
library(broom)
library(pwr)


OF_Distance_Estimates <- read.csv('Optic_Flow_Raw_Data.csv')
head(OF_Distance_Estimates)

#Calculate difference between exit point from start area to max turning point
#to get distance estimate in the unit of pixels:

OF_Distance_Estimates_with_calcs <- OF_Distance_Estimates %>%
  mutate(Distance_Estimate_Pixels = Start_point_Pixels - Estimate_point_Pixels)

head(OF_Distance_Estimates_with_calcs)


#convert pixel distance estimate to cms (divide by 14.3775 --> 1cm = 14.3775 pixels)

OF_Distance_Estimates_with_calcs <- OF_Distance_Estimates_with_calcs %>%
  mutate(Distance_Estimate_cm = Distance_Estimate_Pixels/14.3775)

head(OF_Distance_Estimates_with_calcs)

# convert cm distance estimate to m (/ 100):

OF_Distance_Estimates_with_calcs <- OF_Distance_Estimates_with_calcs %>%
  mutate(Distance_Estimate_m = Distance_Estimate_cm/100)

head(OF_Distance_Estimates_with_calcs)

#Calculating time taken per distance estimate: 

OF_Distance_Estimates_with_calcs <- OF_Distance_Estimates_with_calcs %>%
  mutate(Time_taken_s = (End_Frame - Start_Frame)/50)

head(OF_Distance_Estimates_with_calcs)

# Calculate speed per distance estimate:

OF_Distance_Estimates_with_calcs <- OF_Distance_Estimates_with_calcs %>%
  mutate(Speed = (Distance_Estimate_m/Time_taken_s))

head(OF_Distance_Estimates_with_calcs)



#Giving fish ID more professional names:

OF_Distance_Estimates_with_calcs <- OF_Distance_Estimates_with_calcs %>%
  mutate(Fish = if_else(Fish=='Andy', 'A', 
                        if_else(Fish=='Degas', "B",
                                if_else(Fish=='Klimt', 'D',
                                        if_else(Fish=='Escher', 'F',
                                            if_else(Fish=='Blake', 'E',
                                                if_else(Fish=='Munch', 'C','Missing')))))))



head(OF_Distance_Estimates_with_calcs)

#save as new csv:


write.csv(OF_Distance_Estimates_with_calcs,'OF_Distance_Estimates_With_Calcs.csv')
