From 37647f0086fd1fea7025f365de47fa7b1a72ada1 Mon Sep 17 00:00:00 2001 From: raul-silva <40128918+raul-silva@users.noreply.github.com> Date: Fri, 9 May 2025 18:40:05 +0200 Subject: [PATCH] v250509: Move acctions pproc params Move actions pproc params and make code search for this file robust (before it relied on excecution path which could be different than the location of the script). Also, delete unnecessary imports. --- EMT/EMT_notebooks/Add_markers.ipynb | 14 +++----------- .../Add_markers_social_range.ipynb | 8 -------- EMT/EMT_notebooks/Add_markers_speed.ipynb | 8 -------- EMT/EMT_notebooks/Post-process_events.ipynb | 8 ++++---- EMT/EMT_scripts/Post_process_events_script.py | 7 ++++--- EMT/EMT_scripts/extract_actions.py | 4 ++-- EMT/lmtanalysis/Animal.py | 4 ++-- EMT/lmtanalysis/BuildEventApproachContact.py | 13 +++---------- EMT/lmtanalysis/BuildEventApproachRear.py | 14 ++++---------- .../BuildEventCenterPeripheryLocation.py | 14 +++----------- EMT/lmtanalysis/BuildEventDetection.py | 10 ++-------- ...anOralOralSideSideNoseAnogenitalContact.py | 13 +++---------- .../BuildEventExclusiveMoveStopIsolated.py | 13 +++---------- .../BuildEventExclusiveUndetected.py | 15 ++++----------- EMT/lmtanalysis/BuildEventFloorSniffing.py | 14 +++----------- EMT/lmtanalysis/BuildEventFollowZone.py | 19 +++---------------- EMT/lmtanalysis/BuildEventGetAway.py | 11 ++--------- EMT/lmtanalysis/BuildEventGroup2.py | 14 ++++---------- EMT/lmtanalysis/BuildEventGroup3.py | 14 ++++---------- EMT/lmtanalysis/BuildEventGroup3MakeBreak.py | 16 +++++----------- EMT/lmtanalysis/BuildEventGroup4.py | 14 ++++---------- EMT/lmtanalysis/BuildEventGroup4MakeBreak.py | 16 +++++----------- EMT/lmtanalysis/BuildEventHuddling.py | 12 +++--------- EMT/lmtanalysis/BuildEventHuddling_oldv.py | 12 +++--------- .../BuildEventHuddling_parallel.py | 3 ++- .../BuildEventInterestZoneLocation.py | 15 +++------------ EMT/lmtanalysis/BuildEventMove.py | 11 ++--------- EMT/lmtanalysis/BuildEventNest3.py | 13 +++---------- EMT/lmtanalysis/BuildEventNest4.py | 12 +++--------- EMT/lmtanalysis/BuildEventNight.py | 14 ++++---------- .../BuildEventObjectSniffingNor.py | 14 +++----------- ...tObjectSniffingNorAcquisitionWithConfig.py | 15 +++------------ ...ildEventObjectSniffingNorTestWithConfig.py | 14 +++----------- EMT/lmtanalysis/BuildEventOnHouse.py | 12 ++---------- .../BuildEventOralGenitalContact.py | 12 +++--------- EMT/lmtanalysis/BuildEventOralOralContact.py | 14 ++++---------- EMT/lmtanalysis/BuildEventOralSideSequence.py | 16 ++++------------ EMT/lmtanalysis/BuildEventOtherContact.py | 16 +++++----------- .../BuildEventPassiveAnogenitalSniff.py | 14 ++++---------- EMT/lmtanalysis/BuildEventRear5.py | 15 +++------------ .../BuildEventRearCenterPeriphery.py | 12 +++--------- EMT/lmtanalysis/BuildEventSAP.py | 4 ++-- EMT/lmtanalysis/BuildEventSAP_oldv.py | 12 +++--------- EMT/lmtanalysis/BuildEventSAP_parallel.py | 2 +- EMT/lmtanalysis/BuildEventSideBySide.py | 12 +++--------- .../BuildEventSideBySideOpposite.py | 12 +++--------- EMT/lmtanalysis/BuildEventSideWalk.py | 15 ++++----------- EMT/lmtanalysis/BuildEventSocialApproach.py | 11 ++--------- EMT/lmtanalysis/BuildEventSocialEscape.py | 12 +++--------- EMT/lmtanalysis/BuildEventStop.py | 12 +++--------- EMT/lmtanalysis/BuildEventTrain2.py | 10 ++-------- EMT/lmtanalysis/BuildEventTrain3.py | 11 +++-------- EMT/lmtanalysis/BuildEventTrain4.py | 13 ++++--------- EMT/lmtanalysis/BuildEventWallJump.py | 3 ++- EMT/lmtanalysis/BuildEventWallJump_oldv.py | 17 ++++------------- .../BuildEventWallJump_parallel.py | 2 +- EMT/lmtanalysis/BuildEventWaterPoint.py | 15 ++++----------- EMT/lmtanalysis/CheckWrongAnimal.py | 6 ------ EMT/lmtanalysis/CorrectDetectionIntegrity.py | 10 +++------- EMT/lmtanalysis/FileUtil.py | 2 +- EMT/lmtanalysis/TaskLogger.py | 4 ---- EMT/lmtanalysis/Util.py | 11 +---------- .../actions_pproc_params.yaml | 0 EMT/scripts/Check_Experiment_Reliability.py | 10 +++++----- README.md | 5 +++++ 65 files changed, 186 insertions(+), 534 deletions(-) rename EMT/{EMT_scripts => lmtanalysis}/actions_pproc_params.yaml (100%) diff --git a/EMT/EMT_notebooks/Add_markers.ipynb b/EMT/EMT_notebooks/Add_markers.ipynb index 50baa16..bc0df77 100644 --- a/EMT/EMT_notebooks/Add_markers.ipynb +++ b/EMT/EMT_notebooks/Add_markers.ipynb @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "135e9aca", "metadata": {}, "outputs": [], @@ -48,19 +48,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "287fb552", "metadata": {}, "outputs": [], "source": [ - "# Passing video paths by hand - few videos\n", - "# database = \"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\Experiment 2479.sqlite\"\n", - "# video_path = [\"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\video_t18011.mp4\",\n", - "# \"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\video_t36009.mp4\"]\n", - "\n", - "# output_video_name = [\".\\\\video_t18011_marked.mp4\",\n", - "# \".\\\\video_t36009_marked.mp4\"]\n", - "\n", "# Automatically processing all videos\n", "from pathlib import Path\n", "from lmtanalysis.FileUtil import getVideoFilesToProcess\n", @@ -94,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "39ba84ad", "metadata": {}, "outputs": [], diff --git a/EMT/EMT_notebooks/Add_markers_social_range.ipynb b/EMT/EMT_notebooks/Add_markers_social_range.ipynb index 2a671a5..8c73ca4 100644 --- a/EMT/EMT_notebooks/Add_markers_social_range.ipynb +++ b/EMT/EMT_notebooks/Add_markers_social_range.ipynb @@ -54,14 +54,6 @@ "metadata": {}, "outputs": [], "source": [ - "# Passing video paths by hand - few videos\n", - "# database = \"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\Experiment 2479.sqlite\"\n", - "# video_path = [\"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\video_t18011.mp4\",\n", - "# \"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\video_t36009.mp4\"]\n", - "\n", - "# output_video_name = [\".\\\\video_t18011_marked.mp4\",\n", - "# \".\\\\video_t36009_marked.mp4\"]\n", - "\n", "# Automatically processing all videos\n", "from pathlib import Path\n", "from lmtanalysis.FileUtil import getVideoFilesToProcess\n", diff --git a/EMT/EMT_notebooks/Add_markers_speed.ipynb b/EMT/EMT_notebooks/Add_markers_speed.ipynb index 02f60bc..13be535 100644 --- a/EMT/EMT_notebooks/Add_markers_speed.ipynb +++ b/EMT/EMT_notebooks/Add_markers_speed.ipynb @@ -54,14 +54,6 @@ "metadata": {}, "outputs": [], "source": [ - "# Passing video paths by hand - few videos\n", - "# database = \"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\Experiment 2479.sqlite\"\n", - "# video_path = [\"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\video_t18011.mp4\",\n", - "# \"D:\\\\Experiments_data\\\\exp_20230519\\\\1 object\\\\video_t36009.mp4\"]\n", - "\n", - "# output_video_name = [\".\\\\video_t18011_marked.mp4\",\n", - "# \".\\\\video_t36009_marked.mp4\"]\n", - "\n", "# Automatically processing all videos\n", "from pathlib import Path\n", "from lmtanalysis.FileUtil import getVideoFilesToProcess\n", diff --git a/EMT/EMT_notebooks/Post-process_events.ipynb b/EMT/EMT_notebooks/Post-process_events.ipynb index 80f7266..5905356 100644 --- a/EMT/EMT_notebooks/Post-process_events.ipynb +++ b/EMT/EMT_notebooks/Post-process_events.ipynb @@ -42,7 +42,6 @@ "import sqlite3\n", "from pathlib import Path\n", "import os\n", - "import shutil\n", "import yaml\n", "\n", "import pandas as pd\n", @@ -295,8 +294,9 @@ " connection = sqlite3.connect(file)\n", " sqlite_dir = Path(file).parent\n", " if save_sqlite_file:\n", - " filename, file_extension = os.path.splitext(file)\n", - " target_db = filename + '_filtered' + file_extension\n", + " filename = Path(file).stem\n", + " file_extension = Path(file).suffix\n", + " target_db = Path(file).parent / (filename + '_filtered' + file_extension)\n", " start = 0\n", " length = getNumberOfFrames(file)\n", " extractEventTable(connection, target_db, start, length)\n", @@ -304,7 +304,7 @@ " logs_dir = sqlite_dir / filtered_events_dir\n", " logs_dir.mkdir(exist_ok=True)\n", " nest4_TL = None\n", - " with open('actions_pproc_params.yaml', 'r') as f:\n", + " with open(Path(__file__).parent / '../lmtanalysis/actions_pproc_params.yaml', 'r') as f:\n", " actions_dictionary = yaml.load(f, Loader=yaml.SafeLoader)\n", "\n", " for name, params in actions_dictionary.items():\n", diff --git a/EMT/EMT_scripts/Post_process_events_script.py b/EMT/EMT_scripts/Post_process_events_script.py index 4ceddc9..9a08bed 100644 --- a/EMT/EMT_scripts/Post_process_events_script.py +++ b/EMT/EMT_scripts/Post_process_events_script.py @@ -127,15 +127,16 @@ def process(file, minf=0, maxf=None, timestep=10*oneMinute, logs_dir = sqlite_dir / filtered_events_dir logs_dir.mkdir(exist_ok=True) nest4_TL = None - with open('actions_pproc_params.yaml', 'r') as f: + with open(Path(__file__).parent / '../lmtanalysis/actions_pproc_params.yaml', 'r') as f: actions_dictionary = yaml.load(f, Loader=yaml.SafeLoader) if maxf == None: maxf = getNumberOfFrames(file) if save_sqlite_file: - filename, file_extension = os.path.splitext(file) - target_db = filename + '_filtered' + file_extension + filename = Path(file).stem + file_extension = Path(file).suffix + target_db = Path(file).parent / (filename + '_filtered' + file_extension) extractEventTable(connection, target_db, minf, maxf) target_connection = sqlite3.connect(target_db) diff --git a/EMT/EMT_scripts/extract_actions.py b/EMT/EMT_scripts/extract_actions.py index fe6fc0e..b2843d3 100644 --- a/EMT/EMT_scripts/extract_actions.py +++ b/EMT/EMT_scripts/extract_actions.py @@ -116,6 +116,7 @@ def extractActions(sqlite_file, csv_file_name, id): timeline[t] = event writeToCsv(csv_file_name, timeline) + connection.close() if __name__ == "__main__": argparser = argparse.ArgumentParser() @@ -125,6 +126,7 @@ if __name__ == "__main__": start_time = perf_counter() sqlite_file = Path(args.sqlite_file) + for id_animal in range(1, 5): dir = sqlite_file.parent / sqlite_file.stem dir.mkdir(exist_ok = True) @@ -134,8 +136,6 @@ if __name__ == "__main__": csv_writer = csv.writer(f) csv_writer.writerow(headers) - connection = sqlite3.connect(sqlite_file) - number_of_frames = getNumberOfFrames(sqlite_file) extractActions(sqlite_file, csv_file_name, id_animal) diff --git a/EMT/lmtanalysis/Animal.py b/EMT/lmtanalysis/Animal.py index 6143da8..b453541 100644 --- a/EMT/lmtanalysis/Animal.py +++ b/EMT/lmtanalysis/Animal.py @@ -19,8 +19,8 @@ import sqlite3 from time import sleep from lmtanalysis.Measure import * -from lmtanalysis.Detection import * -from lmtanalysis.Chronometer import * +from lmtanalysis.Detection import Detection +from lmtanalysis.Chronometer import Chronometer from lmtanalysis.Event import EventTimeLine from lmtanalysis.Point import Point from lmtanalysis.Mask import Mask diff --git a/EMT/lmtanalysis/BuildEventApproachContact.py b/EMT/lmtanalysis/BuildEventApproachContact.py index b646a9b..9cb608d 100644 --- a/EMT/lmtanalysis/BuildEventApproachContact.py +++ b/EMT/lmtanalysis/BuildEventApproachContact.py @@ -3,17 +3,10 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventApproachRear.py b/EMT/lmtanalysis/BuildEventApproachRear.py index 296a076..5656a3e 100644 --- a/EMT/lmtanalysis/BuildEventApproachRear.py +++ b/EMT/lmtanalysis/BuildEventApproachRear.py @@ -3,17 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventCenterPeripheryLocation.py b/EMT/lmtanalysis/BuildEventCenterPeripheryLocation.py index 2c37938..0ffbb9a 100644 --- a/EMT/lmtanalysis/BuildEventCenterPeripheryLocation.py +++ b/EMT/lmtanalysis/BuildEventCenterPeripheryLocation.py @@ -3,18 +3,10 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventDetection.py b/EMT/lmtanalysis/BuildEventDetection.py index c739d37..dac079b 100644 --- a/EMT/lmtanalysis/BuildEventDetection.py +++ b/EMT/lmtanalysis/BuildEventDetection.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.Chronometer import Chronometer from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventExclusiveCleanOralOralSideSideNoseAnogenitalContact.py b/EMT/lmtanalysis/BuildEventExclusiveCleanOralOralSideSideNoseAnogenitalContact.py index 89a238d..4d81bd7 100644 --- a/EMT/lmtanalysis/BuildEventExclusiveCleanOralOralSideSideNoseAnogenitalContact.py +++ b/EMT/lmtanalysis/BuildEventExclusiveCleanOralOralSideSideNoseAnogenitalContact.py @@ -3,17 +3,10 @@ Created on 15 Feb. 2022 @author: Elodie ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.BehaviouralSequencesUtil import exclusiveEventList, contactTypeList from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventExclusiveMoveStopIsolated.py b/EMT/lmtanalysis/BuildEventExclusiveMoveStopIsolated.py index 574dfd4..1e1100c 100644 --- a/EMT/lmtanalysis/BuildEventExclusiveMoveStopIsolated.py +++ b/EMT/lmtanalysis/BuildEventExclusiveMoveStopIsolated.py @@ -3,17 +3,10 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.BehaviouralSequencesUtil import exclusiveEventList from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventExclusiveUndetected.py b/EMT/lmtanalysis/BuildEventExclusiveUndetected.py index 07c8c72..c3aa447 100644 --- a/EMT/lmtanalysis/BuildEventExclusiveUndetected.py +++ b/EMT/lmtanalysis/BuildEventExclusiveUndetected.py @@ -3,18 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached -from lmtanalysis.BehaviouralSequencesUtil import exclusiveEventList +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventFloorSniffing.py b/EMT/lmtanalysis/BuildEventFloorSniffing.py index 3143ca5..627b986 100644 --- a/EMT/lmtanalysis/BuildEventFloorSniffing.py +++ b/EMT/lmtanalysis/BuildEventFloorSniffing.py @@ -3,18 +3,10 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventFollowZone.py b/EMT/lmtanalysis/BuildEventFollowZone.py index b923711..4323465 100644 --- a/EMT/lmtanalysis/BuildEventFollowZone.py +++ b/EMT/lmtanalysis/BuildEventFollowZone.py @@ -3,24 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * - -from affine import Affine - -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -#from lmtanalysis.Measure import SPEED_THRESHOLD_LOW -import numpy as np -from lmtanalysis.Event import * +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * - -import matplotlib.pyplot as plt -import matplotlib.lines as mlines from lmtanalysis.EventTimeLineCache import EventTimeLineCached -import copy -from copy import deepcopy from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventGetAway.py b/EMT/lmtanalysis/BuildEventGetAway.py index b03f89f..4f3839a 100644 --- a/EMT/lmtanalysis/BuildEventGetAway.py +++ b/EMT/lmtanalysis/BuildEventGetAway.py @@ -3,15 +3,8 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.Parameters import getAnimalTypeParameters diff --git a/EMT/lmtanalysis/BuildEventGroup2.py b/EMT/lmtanalysis/BuildEventGroup2.py index 4e41c74..555560a 100644 --- a/EMT/lmtanalysis/BuildEventGroup2.py +++ b/EMT/lmtanalysis/BuildEventGroup2.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger @@ -34,7 +28,7 @@ def reBuildEvent( connection, file, tmin=None, tmax=None, pool = None, animalTyp for idAnimalB in range( 1 , 5 ): if ( animal == idAnimalB ): continue - contact[animal, idAnimalB] = EventTimeLineCached( connection, file, "Contact", animal, idAnimalB, minFrame=tmin, maxFrame=tmax ) #fait une matrice de tous les contacts à deux possibles + contact[animal, idAnimalB] = EventTimeLineCached( connection, file, "Contact", animal, idAnimalB, minFrame=tmin, maxFrame=tmax ) for animal in range( 1 , 5 ): diff --git a/EMT/lmtanalysis/BuildEventGroup3.py b/EMT/lmtanalysis/BuildEventGroup3.py index f138dc0..f65af58 100644 --- a/EMT/lmtanalysis/BuildEventGroup3.py +++ b/EMT/lmtanalysis/BuildEventGroup3.py @@ -3,17 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventGroup3MakeBreak.py b/EMT/lmtanalysis/BuildEventGroup3MakeBreak.py index 24dc991..00996ab 100644 --- a/EMT/lmtanalysis/BuildEventGroup3MakeBreak.py +++ b/EMT/lmtanalysis/BuildEventGroup3MakeBreak.py @@ -3,18 +3,12 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * +from pathlib import Path import yaml -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): @@ -60,7 +54,7 @@ def reBuildEvent( connection, file, tmin=None, tmax=None, pool = None, animalTyp ''' process group ''' group3 = EventTimeLineCached( connection, file, "Group3", animal, idAnimalB, idAnimalC, minFrame=tmin, maxFrame=tmax ) - with open('actions_pproc_params.yaml', 'r') as f: + with open(Path(__file__).parent / 'actions_pproc_params.yaml', 'r') as f: actions_dictionary = yaml.load(f, Loader=yaml.SafeLoader) # Preprocess group3 - Break is only considered where there is a "valid" group merge_events_length= actions_dictionary["Group3"].get("merge_events_lenght", 5) diff --git a/EMT/lmtanalysis/BuildEventGroup4.py b/EMT/lmtanalysis/BuildEventGroup4.py index fa07c79..af64754 100644 --- a/EMT/lmtanalysis/BuildEventGroup4.py +++ b/EMT/lmtanalysis/BuildEventGroup4.py @@ -3,17 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventGroup4MakeBreak.py b/EMT/lmtanalysis/BuildEventGroup4MakeBreak.py index 91b3815..00c96fd 100644 --- a/EMT/lmtanalysis/BuildEventGroup4MakeBreak.py +++ b/EMT/lmtanalysis/BuildEventGroup4MakeBreak.py @@ -3,18 +3,12 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * +from pathlib import Path import yaml -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): @@ -62,7 +56,7 @@ def reBuildEvent( connection, file, tmin=None, tmax=None , pool = None, animalTy ''' process group ''' group4 = EventTimeLineCached( connection, file, "Group4", animal, idAnimalB, idAnimalC, minFrame=tmin, maxFrame=tmax ) - with open('actions_pproc_params.yaml', 'r') as f: + with open(Path(__file__).parent / 'actions_pproc_params.yaml', 'r') as f: actions_dictionary = yaml.load(f, Loader=yaml.SafeLoader) # Preprocess group4 - Break is only considered where there is a "valid" group merge_events_length= actions_dictionary["Group4"].get("merge_events_lenght", 5) diff --git a/EMT/lmtanalysis/BuildEventHuddling.py b/EMT/lmtanalysis/BuildEventHuddling.py index 43cf48b..9cee635 100644 --- a/EMT/lmtanalysis/BuildEventHuddling.py +++ b/EMT/lmtanalysis/BuildEventHuddling.py @@ -6,15 +6,9 @@ Created on 6 sept. 2017 Adapted on 18 sept. 2023 @author: Raul ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger from lmtanalysis.ParametersMouse import ParametersMouse diff --git a/EMT/lmtanalysis/BuildEventHuddling_oldv.py b/EMT/lmtanalysis/BuildEventHuddling_oldv.py index c5bcf87..c2d89dd 100644 --- a/EMT/lmtanalysis/BuildEventHuddling_oldv.py +++ b/EMT/lmtanalysis/BuildEventHuddling_oldv.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventHuddling_parallel.py b/EMT/lmtanalysis/BuildEventHuddling_parallel.py index ea6d673..69c7ff1 100644 --- a/EMT/lmtanalysis/BuildEventHuddling_parallel.py +++ b/EMT/lmtanalysis/BuildEventHuddling_parallel.py @@ -10,7 +10,8 @@ import sqlite3 from multiprocessing import Process from lmtanalysis.Animal import AnimalPool -from lmtanalysis.Event import * +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger from lmtanalysis.ParametersMouse import ParametersMouse from lmtanalysis.Util import getNumberOfFrames diff --git a/EMT/lmtanalysis/BuildEventInterestZoneLocation.py b/EMT/lmtanalysis/BuildEventInterestZoneLocation.py index 19e058b..6da4c79 100644 --- a/EMT/lmtanalysis/BuildEventInterestZoneLocation.py +++ b/EMT/lmtanalysis/BuildEventInterestZoneLocation.py @@ -3,19 +3,10 @@ Created on 01 may 2024 @author: Raul ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.TaskLogger import TaskLogger +from lmtanalysis.Measure import * from lmtanalysis.ParametersMouse import ParametersMouse def flush( connection, zone_name ): diff --git a/EMT/lmtanalysis/BuildEventMove.py b/EMT/lmtanalysis/BuildEventMove.py index 6942e03..e45e0f3 100644 --- a/EMT/lmtanalysis/BuildEventMove.py +++ b/EMT/lmtanalysis/BuildEventMove.py @@ -3,15 +3,8 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventNest3.py b/EMT/lmtanalysis/BuildEventNest3.py index 4f14c62..147937f 100644 --- a/EMT/lmtanalysis/BuildEventNest3.py +++ b/EMT/lmtanalysis/BuildEventNest3.py @@ -3,18 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import Animal, AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * import networkx as nx from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventNest4.py b/EMT/lmtanalysis/BuildEventNest4.py index 5b6391c..b548824 100644 --- a/EMT/lmtanalysis/BuildEventNest4.py +++ b/EMT/lmtanalysis/BuildEventNest4.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import Animal, AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached import networkx as nx diff --git a/EMT/lmtanalysis/BuildEventNight.py b/EMT/lmtanalysis/BuildEventNight.py index 7852dc1..1ad71ef 100644 --- a/EMT/lmtanalysis/BuildEventNight.py +++ b/EMT/lmtanalysis/BuildEventNight.py @@ -7,19 +7,13 @@ Created on 21 mars 2019 import sqlite3 from time import * import datetime -from lmtanalysis.Util import * +import sys -from lmtanalysis.Animal import * -import matplotlib.pyplot as plt -from lmtanalysis.Event import * +from lmtanalysis.Chronometer import Chronometer +from lmtanalysis.Event import Event, EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.FileUtil import getFilesToProcess - -from psutil import virtual_memory - -from tkinter.filedialog import askopenfilename -from lmtanalysis.TaskLogger import TaskLogger -import sys +from lmtanalysis.Util import * class FileProcessException(Exception): pass diff --git a/EMT/lmtanalysis/BuildEventObjectSniffingNor.py b/EMT/lmtanalysis/BuildEventObjectSniffingNor.py index 724a3bb..dc69aea 100644 --- a/EMT/lmtanalysis/BuildEventObjectSniffingNor.py +++ b/EMT/lmtanalysis/BuildEventObjectSniffingNor.py @@ -3,18 +3,10 @@ Created on 2. February 2021 @author: Elodie ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventObjectSniffingNorAcquisitionWithConfig.py b/EMT/lmtanalysis/BuildEventObjectSniffingNorAcquisitionWithConfig.py index ca461a6..47f2c2f 100644 --- a/EMT/lmtanalysis/BuildEventObjectSniffingNorAcquisitionWithConfig.py +++ b/EMT/lmtanalysis/BuildEventObjectSniffingNorAcquisitionWithConfig.py @@ -3,19 +3,10 @@ Created on 2. February 2021 @author: Elodie ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Parameters import getAnimalTypeParameters +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventObjectSniffingNorTestWithConfig.py b/EMT/lmtanalysis/BuildEventObjectSniffingNorTestWithConfig.py index 03584cd..7e478c3 100644 --- a/EMT/lmtanalysis/BuildEventObjectSniffingNorTestWithConfig.py +++ b/EMT/lmtanalysis/BuildEventObjectSniffingNorTestWithConfig.py @@ -3,18 +3,10 @@ Created on 2. February 2021 @author: Elodie ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventOnHouse.py b/EMT/lmtanalysis/BuildEventOnHouse.py index 013d972..9547551 100644 --- a/EMT/lmtanalysis/BuildEventOnHouse.py +++ b/EMT/lmtanalysis/BuildEventOnHouse.py @@ -6,17 +6,9 @@ Created on 6 sept. 2017 import sqlite3 from time import * from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines -import sys -import matplotlib.pyplot as plt from lmtanalysis.FileUtil import getFilesToProcess from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventOralGenitalContact.py b/EMT/lmtanalysis/BuildEventOralGenitalContact.py index 436d55f..2c600bc 100644 --- a/EMT/lmtanalysis/BuildEventOralGenitalContact.py +++ b/EMT/lmtanalysis/BuildEventOralGenitalContact.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventOralOralContact.py b/EMT/lmtanalysis/BuildEventOralOralContact.py index 6cc060a..688acee 100644 --- a/EMT/lmtanalysis/BuildEventOralOralContact.py +++ b/EMT/lmtanalysis/BuildEventOralOralContact.py @@ -3,17 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Parameters import getAnimalTypeParameters +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def distHeadHead( detA, detB ): diff --git a/EMT/lmtanalysis/BuildEventOralSideSequence.py b/EMT/lmtanalysis/BuildEventOralSideSequence.py index 0ac2188..57e9559 100644 --- a/EMT/lmtanalysis/BuildEventOralSideSequence.py +++ b/EMT/lmtanalysis/BuildEventOralSideSequence.py @@ -3,19 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import Event, EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventOtherContact.py b/EMT/lmtanalysis/BuildEventOtherContact.py index 9c55d81..09c3966 100644 --- a/EMT/lmtanalysis/BuildEventOtherContact.py +++ b/EMT/lmtanalysis/BuildEventOtherContact.py @@ -3,18 +3,12 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * +from pathlib import Path import yaml -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): @@ -63,7 +57,7 @@ def reBuildEvent( connection, file, tmin=None, tmax=None , pool = None, animalTy eventDico = {} for event in ["Oral-oral Contact", "Oral-genital Contact", "Passive oral-genital Contact", "Side by side Contact", "Side by side Contact, opposite way"]: eventDico[event] = timeLine[event][animal, idAnimalB] - with open('actions_pproc_params.yaml', 'r') as f: + with open(Path(__file__).parent / 'actions_pproc_params.yaml', 'r') as f: actions_dictionary = yaml.load(f, Loader=yaml.SafeLoader) # Preprocess event - Break is only considered where there is a "valid" group merge_events_length= actions_dictionary[event].get("merge_events_lenght", 5) diff --git a/EMT/lmtanalysis/BuildEventPassiveAnogenitalSniff.py b/EMT/lmtanalysis/BuildEventPassiveAnogenitalSniff.py index cfb80ab..e0e786d 100644 --- a/EMT/lmtanalysis/BuildEventPassiveAnogenitalSniff.py +++ b/EMT/lmtanalysis/BuildEventPassiveAnogenitalSniff.py @@ -3,17 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventRear5.py b/EMT/lmtanalysis/BuildEventRear5.py index be6fd86..e111a9c 100644 --- a/EMT/lmtanalysis/BuildEventRear5.py +++ b/EMT/lmtanalysis/BuildEventRear5.py @@ -3,19 +3,10 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventRearCenterPeriphery.py b/EMT/lmtanalysis/BuildEventRearCenterPeriphery.py index 3aa6fd9..00f6627 100644 --- a/EMT/lmtanalysis/BuildEventRearCenterPeriphery.py +++ b/EMT/lmtanalysis/BuildEventRearCenterPeriphery.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventSAP.py b/EMT/lmtanalysis/BuildEventSAP.py index d895a77..f6b63b6 100644 --- a/EMT/lmtanalysis/BuildEventSAP.py +++ b/EMT/lmtanalysis/BuildEventSAP.py @@ -3,13 +3,13 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 import matplotlib.pyplot as plt import numpy as np import skimage.morphology as skm from lmtanalysis.Animal import AnimalPool -from lmtanalysis.Event import * +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger from lmtanalysis.Util import getNumberOfFrames diff --git a/EMT/lmtanalysis/BuildEventSAP_oldv.py b/EMT/lmtanalysis/BuildEventSAP_oldv.py index fe6754c..afb2243 100644 --- a/EMT/lmtanalysis/BuildEventSAP_oldv.py +++ b/EMT/lmtanalysis/BuildEventSAP_oldv.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventSAP_parallel.py b/EMT/lmtanalysis/BuildEventSAP_parallel.py index b572715..b7220a1 100644 --- a/EMT/lmtanalysis/BuildEventSAP_parallel.py +++ b/EMT/lmtanalysis/BuildEventSAP_parallel.py @@ -10,7 +10,7 @@ from multiprocessing import Process import skimage.morphology as skm from lmtanalysis.Animal import AnimalPool -from lmtanalysis.Event import * +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.TaskLogger import TaskLogger from lmtanalysis.Util import getNumberOfFrames diff --git a/EMT/lmtanalysis/BuildEventSideBySide.py b/EMT/lmtanalysis/BuildEventSideBySide.py index 75e242a..c09382d 100644 --- a/EMT/lmtanalysis/BuildEventSideBySide.py +++ b/EMT/lmtanalysis/BuildEventSideBySide.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventSideBySideOpposite.py b/EMT/lmtanalysis/BuildEventSideBySideOpposite.py index f0edee5..ff189b1 100644 --- a/EMT/lmtanalysis/BuildEventSideBySideOpposite.py +++ b/EMT/lmtanalysis/BuildEventSideBySideOpposite.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventSideWalk.py b/EMT/lmtanalysis/BuildEventSideWalk.py index 3868ace..f56f3f5 100644 --- a/EMT/lmtanalysis/BuildEventSideWalk.py +++ b/EMT/lmtanalysis/BuildEventSideWalk.py @@ -3,18 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * + +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventSocialApproach.py b/EMT/lmtanalysis/BuildEventSocialApproach.py index a2c593f..048a6d6 100644 --- a/EMT/lmtanalysis/BuildEventSocialApproach.py +++ b/EMT/lmtanalysis/BuildEventSocialApproach.py @@ -3,15 +3,8 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventSocialEscape.py b/EMT/lmtanalysis/BuildEventSocialEscape.py index b00de92..430396b 100644 --- a/EMT/lmtanalysis/BuildEventSocialEscape.py +++ b/EMT/lmtanalysis/BuildEventSocialEscape.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventStop.py b/EMT/lmtanalysis/BuildEventStop.py index 19365b6..fbf4f74 100644 --- a/EMT/lmtanalysis/BuildEventStop.py +++ b/EMT/lmtanalysis/BuildEventStop.py @@ -3,15 +3,9 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventTrain2.py b/EMT/lmtanalysis/BuildEventTrain2.py index a3c051f..ad4eb2a 100644 --- a/EMT/lmtanalysis/BuildEventTrain2.py +++ b/EMT/lmtanalysis/BuildEventTrain2.py @@ -3,14 +3,8 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np + +from lmtanalysis.Animal import AnimalPool from lmtanalysis.Event import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.Parameters import getAnimalTypeParameters diff --git a/EMT/lmtanalysis/BuildEventTrain3.py b/EMT/lmtanalysis/BuildEventTrain3.py index eb68057..6315803 100644 --- a/EMT/lmtanalysis/BuildEventTrain3.py +++ b/EMT/lmtanalysis/BuildEventTrain3.py @@ -3,15 +3,10 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * from lmtanalysis.EventTimeLineCache import EventTimeLineCached from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/BuildEventTrain4.py b/EMT/lmtanalysis/BuildEventTrain4.py index c401332..9f737c1 100644 --- a/EMT/lmtanalysis/BuildEventTrain4.py +++ b/EMT/lmtanalysis/BuildEventTrain4.py @@ -3,16 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger class Train2(): diff --git a/EMT/lmtanalysis/BuildEventWallJump.py b/EMT/lmtanalysis/BuildEventWallJump.py index 459a8ff..154984d 100644 --- a/EMT/lmtanalysis/BuildEventWallJump.py +++ b/EMT/lmtanalysis/BuildEventWallJump.py @@ -7,7 +7,8 @@ import numpy as np import skimage.morphology as skm from lmtanalysis.Animal import AnimalPool -from lmtanalysis.Event import * +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger from lmtanalysis.Util import getNumberOfFrames diff --git a/EMT/lmtanalysis/BuildEventWallJump_oldv.py b/EMT/lmtanalysis/BuildEventWallJump_oldv.py index 5d5dfff..cccdfa6 100644 --- a/EMT/lmtanalysis/BuildEventWallJump_oldv.py +++ b/EMT/lmtanalysis/BuildEventWallJump_oldv.py @@ -3,20 +3,11 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines -import sys import matplotlib.pyplot as plt +import math +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase +from lmtanalysis.Measure import * from lmtanalysis.TaskLogger import TaskLogger def flush( connection ): diff --git a/EMT/lmtanalysis/BuildEventWallJump_parallel.py b/EMT/lmtanalysis/BuildEventWallJump_parallel.py index 0b63463..c0379a5 100644 --- a/EMT/lmtanalysis/BuildEventWallJump_parallel.py +++ b/EMT/lmtanalysis/BuildEventWallJump_parallel.py @@ -9,7 +9,7 @@ import skimage.morphology as skm from multiprocessing import Process from lmtanalysis.Animal import AnimalPool -from lmtanalysis.Event import * +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.TaskLogger import TaskLogger from lmtanalysis.Util import getNumberOfFrames diff --git a/EMT/lmtanalysis/BuildEventWaterPoint.py b/EMT/lmtanalysis/BuildEventWaterPoint.py index b97d3ed..4cb9d58 100644 --- a/EMT/lmtanalysis/BuildEventWaterPoint.py +++ b/EMT/lmtanalysis/BuildEventWaterPoint.py @@ -3,19 +3,12 @@ Created on 6 sept. 2017 @author: Fab ''' -import sqlite3 -from time import * -from lmtanalysis.Chronometer import Chronometer -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * import numpy as np -from lmtanalysis.Event import * -from lmtanalysis.Measure import * -#from affine import Affine -import matplotlib.pyplot as plt -import matplotlib.lines as mlines + +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine, deleteEventTimeLineInBase from lmtanalysis.EventTimeLineCache import EventTimeLineCached +from lmtanalysis.Measure import * from lmtanalysis.Parameters import getAnimalTypeParameters from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/CheckWrongAnimal.py b/EMT/lmtanalysis/CheckWrongAnimal.py index 1e25ee5..a6bf312 100644 --- a/EMT/lmtanalysis/CheckWrongAnimal.py +++ b/EMT/lmtanalysis/CheckWrongAnimal.py @@ -7,17 +7,11 @@ In some record, we do have an extra animal with None for all parameters. This script should be used to detect those animal in databases. ''' -import sqlite3 -from time import * from lmtanalysis.Animal import * from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np from lmtanalysis.Event import * from lmtanalysis.Measure import * -from lmtanalysis.Chronometer import Chronometer from lmtanalysis.TaskLogger import TaskLogger diff --git a/EMT/lmtanalysis/CorrectDetectionIntegrity.py b/EMT/lmtanalysis/CorrectDetectionIntegrity.py index 05c634a..82cb5ef 100644 --- a/EMT/lmtanalysis/CorrectDetectionIntegrity.py +++ b/EMT/lmtanalysis/CorrectDetectionIntegrity.py @@ -14,15 +14,11 @@ This script alters the lmtanalysis: After running this script detection at t without all identity recognized will be all switched to anonymous ! ''' -import sqlite3 + from time import * -from lmtanalysis.Animal import * -from lmtanalysis.Detection import * -from lmtanalysis.Measure import * -import matplotlib.pyplot as plt -import numpy as np -from lmtanalysis.Event import * +from lmtanalysis.Animal import AnimalPool +from lmtanalysis.Event import EventTimeLine from lmtanalysis.Measure import * from lmtanalysis.Chronometer import Chronometer diff --git a/EMT/lmtanalysis/FileUtil.py b/EMT/lmtanalysis/FileUtil.py index a7a29a1..79aba8a 100644 --- a/EMT/lmtanalysis/FileUtil.py +++ b/EMT/lmtanalysis/FileUtil.py @@ -10,7 +10,7 @@ from tkinter.dialog import Dialog from tkinter.filedialog import askopenfilename, askdirectory import tkinter as tk import unittest -from random import randrange, random +from random import random import json diff --git a/EMT/lmtanalysis/TaskLogger.py b/EMT/lmtanalysis/TaskLogger.py index 4bcb77a..25b5439 100644 --- a/EMT/lmtanalysis/TaskLogger.py +++ b/EMT/lmtanalysis/TaskLogger.py @@ -110,7 +110,3 @@ class TaskLogger: cursor.close() self.loadLog() - - - - diff --git a/EMT/lmtanalysis/Util.py b/EMT/lmtanalysis/Util.py index feeec5e..b36d994 100644 --- a/EMT/lmtanalysis/Util.py +++ b/EMT/lmtanalysis/Util.py @@ -14,12 +14,10 @@ from random import random import string - - - class DummyFile(object): def write(self, x): pass + @contextlib.contextmanager def mute_prints(): # https://stackoverflow.com/questions/2828953/silence-the-stdout-of-a-function-in-python-without-trashing-sys-stdout-and-resto @@ -61,7 +59,6 @@ def level( data ): dico[entry]=True return sorted( dico.keys( ) ) - def pixelToCm( nbPixel ): return nbPixel * 10 / 57 @@ -105,7 +102,6 @@ def getFrameInput( text ): print("Entry (in frame) : " + str( t ) ) return t - def getMinTMaxTAndFileNameInput(): print ("Enter time information in frame. You can also set in days, hour, minutes") @@ -121,7 +117,6 @@ def getMinTMaxTAndFileNameInput(): return tmin,tmax,text_file - def getMinTMaxTInput(): print ("Enter time information in frame. You can also set in days, hour, minutes") @@ -132,7 +127,6 @@ def getMinTMaxTInput(): return tmin,tmax - def getExperimentDurationInput(): print ("Enter time information in frame. You can also set in days, hour, minutes") @@ -142,7 +136,6 @@ def getExperimentDurationInput(): return experimentDuration - def getFileNameInput(): text_file_name = input("File name : ") @@ -283,7 +276,6 @@ def recoverFrame(file, MyDatetime): print( "Distance to target: " + str( smallestDif ) + " milliseconds") return closestFrame - def addJitter(x, jit): newX = [] for item in x: @@ -292,7 +284,6 @@ def addJitter(x, jit): return newX - def getStarsFromPvalues(pvalue=None, U=None, numberOfTests=1): stars = "NA" diff --git a/EMT/EMT_scripts/actions_pproc_params.yaml b/EMT/lmtanalysis/actions_pproc_params.yaml similarity index 100% rename from EMT/EMT_scripts/actions_pproc_params.yaml rename to EMT/lmtanalysis/actions_pproc_params.yaml diff --git a/EMT/scripts/Check_Experiment_Reliability.py b/EMT/scripts/Check_Experiment_Reliability.py index 2977868..7054829 100644 --- a/EMT/scripts/Check_Experiment_Reliability.py +++ b/EMT/scripts/Check_Experiment_Reliability.py @@ -97,7 +97,7 @@ if __name__ == '__main__': text_file.write("\n") print ("##############################################################") - continue + ########################################################################## '''Number of animals detected and rate of detection''' pool = AnimalPool( ) @@ -123,10 +123,10 @@ if __name__ == '__main__': rfidMismatchTimeLine = EventTimeLine( connection, "RFID MISMATCH", idA = animal ) nbOfRfidMatch = rfidMatchTimeLine.getNumberOfEvent(minFrame=startFrame, maxFrame=endFrame) nbOfRfidMismatch = rfidMismatchTimeLine.getNumberOfEvent(minFrame=startFrame, maxFrame=endFrame) - print( "Number of RFID match for animal {}: {} (rate: {} events/min)".format( pool.animalDictionary[animal].RFID, nbOfRfidMatch, nbOfRfidMatch/(durationExp*30*60) ) ) - print( "Number of RFID mismatch for animal {}: {} (rate: {} events/min)".format( pool.animalDictionary[animal].RFID, nbOfRfidMismatch, nbOfRfidMismatch/(durationExp*30*60) ) ) - text_file.write( "Number of RFID match for animal {}: {} (rate: {} events/min)\n".format( pool.animalDictionary[animal].RFID, nbOfRfidMatch, nbOfRfidMatch/(durationExp*30*60) ) ) - text_file.write( "Number of RFID mismatch for animal {}: {} (rate: {} events/min)\n".format( pool.animalDictionary[animal].RFID, nbOfRfidMismatch, nbOfRfidMismatch/(durationExp*30*60) ) ) + print( "Number of RFID match for animal {}: {} (rate: {} events/min)".format( pool.animalDictionary[animal].RFID, nbOfRfidMatch, nbOfRfidMatch/durationExp*30*60 ) ) + print( "Number of RFID mismatch for animal {}: {} (rate: {} events/min)".format( pool.animalDictionary[animal].RFID, nbOfRfidMismatch, nbOfRfidMismatch/durationExp*30*60 ) ) + text_file.write( "Number of RFID match for animal {}: {} (rate: {} events/min)\n".format( pool.animalDictionary[animal].RFID, nbOfRfidMatch, nbOfRfidMatch/durationExp*30*60 ) ) + text_file.write( "Number of RFID mismatch for animal {}: {} (rate: {} events/min)\n".format( pool.animalDictionary[animal].RFID, nbOfRfidMismatch, nbOfRfidMismatch/durationExp*30*60 ) ) print ("##############################################################") ########################################################################## diff --git a/README.md b/README.md index 797631f..cb41406 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,11 @@ Although this processing is long (for a 3-day database it will take a whole day If you have feeders/drinkers in the cage, ou can detect the contact of the animals with these structures by setting up the coordinates of the contours of the structure in a file named `feeders.txt` (a model can be found at `./EMT/images/`) to be put on the same directory of the database (sqlite file). The original script expects to find the coordinates of 1 drinker and 4 feeders, but you can adapt it easily four your needs by manipulating the script. Each object can have an arbitrary number of coordinates to set up the contour. +### Event filtering + +One of the improvements brought by EMT is the event filtering. Many events are noisily detected. A single event is broken in many because of the noise in detection, segmentation or orientation of the individuals. In order to overcome this failures, we propose a chain of filters for events. +The parameters for filtering each actions can be found (and modified) at `./EMT/lmtanalysis/actions_pproc_params.yaml`. + ### Processing sequences of events Using the filtered databases (output of the post_processing_events script/notebook with save_sqlite option enabled), you can process the sequences of events. First you must run the `extract_actions.py` to extract one action per frame for each animal. You can modify the priority of the frame in the dictionary of this file. -- GitLab