application_script.R 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. source("/home/user/documents/R_scripts/analysis_functions.R")
  2. library("data.table")
  3. library("zoo")
  4. library("remotes")
  5. library("ggplot2")
  6. library("gridExtra")
  7. #'Example composition of the video file path.
  8. Folder="/home/user/documents/DLC_results/"
  9. TIteration="175000"
  10. Shuffle="shuffle7_"
  11. Reso="/100_reso"
  12. Prefix="/pose_predictions/PB_T3_"
  13. Middle="_P3_RotatingBeam_"
  14. Network="croppedDLC_resnet50_RotatingBeam3.1Jul12"
  15. #Network="croppeddownsampledDLC_resnet50_RotatingBeam3.1Jul12"
  16. End="_filtered.csv"
  17. PicFolder=paste0(Folder, TIteration, Reso, "/results_statistical_analysis/")
  18. #'At the moment only 20 videos can analyzed in one batch.
  19. Number_of_videos=20
  20. #'Pasting of the video file paths.
  21. #'All video names should follow the same scheme.
  22. #'Do NOT change the variable names.
  23. T3_3_1_1=paste0(Folder, TIteration, Reso, Prefix, "3_1", Middle, "1", Network, Shuffle, TIteration, End)
  24. T3_3_2_2=paste0(Folder, TIteration, Reso, Prefix, "3_2", Middle, "2", Network, Shuffle, TIteration, End)
  25. T3_4_2_4=paste0(Folder, TIteration, Reso, Prefix, "4_2", Middle, "4", Network, Shuffle, TIteration, End)
  26. T3_4_3_2=paste0(Folder, TIteration, Reso, Prefix, "4_3", Middle, "2", Network, Shuffle, TIteration, End)
  27. T3_4_4_1=paste0(Folder, TIteration, Reso, Prefix, "4_4", Middle, "1", Network, Shuffle, TIteration, End)
  28. T3_4_5_1=paste0(Folder, TIteration, Reso, Prefix, "4_5", Middle, "1", Network, Shuffle, TIteration, End)
  29. T3_5_2_1=paste0(Folder, TIteration, Reso, Prefix, "5_2", Middle, "1", Network, Shuffle, TIteration, End)
  30. T3_6_1_1=paste0(Folder, TIteration, Reso, Prefix, "6_1", Middle, "1", Network, Shuffle, TIteration, End)
  31. T3_7_2_4=paste0(Folder, TIteration, Reso, Prefix, "7_2", Middle, "4", Network, Shuffle, TIteration, End)
  32. T3_8_4_4=paste0(Folder, TIteration, Reso, Prefix, "8_4", Middle, "4", Network, Shuffle, TIteration, End)
  33. T3_9_3_3=paste0(Folder, TIteration, Reso, Prefix, "9_3", Middle, "3", Network, Shuffle, TIteration, End)
  34. T3_9_4_2=paste0(Folder, TIteration, Reso, Prefix, "9_4", Middle, "2", Network, Shuffle, TIteration, End)
  35. T3_10_2_2=paste0(Folder, TIteration, Reso, Prefix, "10_2", Middle, "2", Network, Shuffle, TIteration, End)
  36. T3_10_3_3=paste0(Folder, TIteration, Reso, Prefix, "10_3", Middle, "3", Network, Shuffle, TIteration, End)
  37. T3_12_1_2=paste0(Folder, TIteration, Reso, Prefix, "12_1", Middle, "2", Network, Shuffle, TIteration, End)
  38. T3_13_4_3=paste0(Folder, TIteration, Reso, Prefix, "13_4", Middle, "3", Network, Shuffle, TIteration, End)
  39. T3_14_1_1=paste0(Folder, TIteration, Reso, Prefix, "14_1", Middle, "1", Network, Shuffle, TIteration, End)
  40. T3_14_3_2=paste0(Folder, TIteration, Reso, Prefix, "14_3", Middle, "2", Network, Shuffle, TIteration, End)
  41. T3_16_3_2=paste0(Folder, TIteration, Reso, Prefix, "16_3", Middle, "2", Network, Shuffle, TIteration, End)
  42. T3_17_1_4=paste0(Folder, TIteration, Reso, Prefix, "17_1", Middle, "4", Network, Shuffle, TIteration, End)
  43. #'Video names that appear in the result data frame.
  44. DLCnames3<-c("PB_T3_3_1_P3_RotatingBeam_1", "PB_T3_3_2_P3_RotatingBeam_2", "PB_T3_4_2_P3_RotatingBeam_4", "PB_T3_4_3_P3_RotatingBeam_2", "PB_T3_4_4_P3_RotatingBeam_1", "PB_T3_4_5_P3_RotatingBeam_1", "PB_T3_5_2_P3_RotatingBeam_1", "PB_T3_6_1_P3_RotatingBeam_1", "PB_T3_7_2_P3_RotatingBeam_4", "PB_T3_8_4_P3_RotatingBeam_4", "PB_T3_9_3_P3_RotatingBeam_3", "PB_T3_9_4_P3_RotatingBeam_2", "PB_T3_10_2_P3_RotatingBeam_2", "PB_T3_10_3_P3_RotatingBeam_3", "PB_T3_12_1_P3_RotatingBeam_2", "PB_T3_13_4_P3_RotatingBeam_3", "PB_T3_14_1_P3_RotatingBeam_1", "PB_T3_14_3_P3_RotatingBeam_2", "PB_T3_16_3_P3_RotatingBeam_2", "PB_T3_17_1_P3_RotatingBeam_4")
  45. ResolutionHeight=1080
  46. ResolutionWidth=1920
  47. #'FPS of each video. Same order as above!
  48. DLCFPS<-c(31, 32, 32, 31, 32, 31, 32, 43, 46, 45, 32, 31, 32, 32, 30, 30, 30, 30, 30, 30)
  49. ###DO NOT CHANGE ANYTHING FROM THIS POINT ON###
  50. DLCnames2<-c("311", "322", "424", "432", "441", "451", "521", "611", "724", "844", "933", "942", "1022", "1033", "1212", "1343", "1411", "1432", "1632", "1714")
  51. DLCnames4<-c(T3_3_1_1, T3_3_2_2, T3_4_2_4, T3_4_3_2, T3_4_4_1, T3_4_5_1, T3_5_2_1, T3_6_1_1, T3_7_2_4, T3_8_4_4, T3_9_3_3, T3_9_4_2, T3_10_2_2, T3_10_3_3, T3_12_1_2, T3_13_4_3, T3_14_1_1, T3_14_3_2, T3_16_3_2, T3_17_1_4)
  52. for(i in 1:Number_of_videos){
  53. x<-prep.dlc(DLCnames4[i], Height=ResolutionHeight, Width=ResolutionWidth, FPS=DLCFPS[i])
  54. assign(paste("T", as.character(DLCnames2[i]), sep=""), x)
  55. }
  56. DLCnames<-list(T311, T322, T424, T432, T441, T451, T521, T611, T724, T844,
  57. T933, T942, T1022, T1033, T1212, T1343, T1411, T1432, T1632, T1714)
  58. DLCcolnames<-c("Video", "FPS", "Start", "End", "Reason for End", "Distance", "Speed", "Hindlimb Drops")
  59. Units<-c("Unit", "1/s", "Frame #", "Frame #", " ", "cm", "cm/s", "Frame #", "L/R")
  60. TDLC1<-data.frame()
  61. for(i in DLCcolnames){TDLC1[[i]]<-as.character()}
  62. for(i in 1:ncol(TDLC1)){TDLC1[1, i]=Units[i]}
  63. for(i in 1:length(DLCnames3)){
  64. TDLC1[i+1,1]=DLCnames3[i]
  65. TDLC1[i+1,2]=DLCFPS[i]
  66. TDLC1[i+1,3]=start(DLCnames[[i]])
  67. TDLC1[i+1, 4]=end(DLCnames[[i]])
  68. TDLC1[i+1, 5]=rfend(DLCnames[[i]])
  69. TDLC1[i+1, 6]=distance(DLCnames[[i]],DLCnames[[i]]$forepaw_right_x[end(DLCnames[[i]])+1])
  70. TDLC1[i+1, 7]=speed(DLCnames[[i]], end(DLCnames[[i]]),time(DLCnames[[i]], start(DLCnames[[i]]), end(DLCnames[[i]])))
  71. hld<-c()
  72. hld<-hdrop(DLCnames[[i]], hld)
  73. if(length(hld)>0){
  74. for(j in 1:length(hld)){
  75. if(as.numeric(hld[j])>as.numeric(TDLC1[i+1, 4])){
  76. next()
  77. }
  78. else{
  79. TDLC1[i+1, 7+j]=as.numeric(hld[j])
  80. }
  81. }
  82. }
  83. }
  84. View(TDLC1)
  85. source("/home/user/Documents/statistical_analysis.R")