Skip to content

Commit 1762f4d

Browse files
authored
Merge pull request #281 from AllenInstitute/fix/qc
fixes metadata on legacy loading
2 parents c4ed858 + 29936ba commit 1762f4d

12 files changed

Lines changed: 55 additions & 31 deletions

File tree

setup.cfg

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
[bumpversion]
2-
current_version = 0.4.0
2+
current_version = 0.4.1
33
commit = True
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<n>\d+))?
6-
serialize =
6+
serialize =
77
{major}.{minor}.{patch}.{release}{n}
88
{major}.{minor}.{patch}
99

1010
[bumpversion:part:release]
1111
optional_value = gamma
12-
values =
12+
values =
1313
dev
1414
a
1515
b
@@ -37,3 +37,4 @@ exclude = git/*, notebooks/*, tests/*, scripts/*
3737
[coverage:run]
3838
omit = tests/*, visual_behavior/cohorts/*, visual_behavior/inscopix/*, scripts/*,
3939
notebooks/*, circleci/*, .git/*, .tox/*, .cache/*, visual_behavior/pizza/*
40+

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
setuptools.setup(
66
name="visual-behavior",
7-
version="0.4.0",
7+
version="0.4.1",
88
author="Justin Kiggins",
99
author_email="justink@alleninstitute.org",
1010
description="analysis package for visual behavior",

tests/translator/foraging2/test_foraging2_extract.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,3 +690,6 @@ def test_get_max_session_duration(foraging2_data_stage4_2018_05_10):
690690

691691
def test_get_abort_on_early_response(foraging2_data_stage4_2018_05_10):
692692
assert extract.get_abort_on_early_response(foraging2_data_stage4_2018_05_10) == True
693+
694+
def test_get_periodic_flash(foraging2_data_stage4_2018_05_10):
695+
assert extract.get_periodic_flash(foraging2_data_stage4_2018_05_10) == (0.25, 0.5)

tests/translator/foraging2/test_foraging2_translator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ def test_data_to_metadata(monkeypatch, foraging2_data_fixture):
141141
"behavior_session_uuid": '',
142142
"abort_on_early_response": True,
143143
"auto_reward_delay": 0.0,
144+
"periodic_flash": (0.25, 0.5),
144145
}
145146

146147

tests/translator/test_translator_functional.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from visual_behavior.translator import foraging2, foraging
66
from visual_behavior.translator.core import create_extended_dataframe
77
from visual_behavior.uuid_utils import create_session_uuid
8+
from visual_behavior.validation.qc import generate_qc_report
89

910

1011
"""test the schemas vs the outputs here
@@ -56,6 +57,8 @@ def test_foraging2_translator_schema(foraging2_data_stage4_2018_05_10):
5657
core_data['metadata']['startdatetime'],
5758
)
5859
_test_core_data_schemas(core_data)
60+
generate_qc_report(core_data)
61+
5962

6063
def test_foraging_translator_schema(behavioral_session_output_fixture):
6164
core_data = foraging.data_to_change_detection_core(
@@ -68,3 +71,4 @@ def test_foraging_translator_schema(behavioral_session_output_fixture):
6871
)
6972

7073
_test_core_data_schemas(core_data)
74+
generate_qc_report(core_data)

visual_behavior/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.4.0"
1+
__version__ = "0.4.1"

visual_behavior/schemas/core.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,16 @@ class MetadataSchema(Schema):
346346
description='maximum volume of water to deliver in a session, in mL',
347347
required=True,
348348
)
349+
auto_reward_delay = fields.Float(
350+
description='delay between change time and reward on autoreward trials',
351+
required=True,
352+
)
353+
periodic_flash = fields.List(
354+
fields.Float,
355+
description='duration of flash and grey screen',
356+
required=True,
357+
allow_none=True,
358+
)
349359

350360

351361
# class ChangeDetectionSessionCoreSchema(Schema):

visual_behavior/translator/foraging/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ def load_metadata(data):
9393
metadata['initial_blank_duration'] = data['initial_blank']
9494
metadata['warm_up_trials'] = data['warmup_trials']
9595
metadata['stimulus_window'] = data['trial_duration'] - data['delta_minimum']
96+
metadata['auto_reward_delay'] = 0.0 # hard coded
97+
98+
blank_dur = np.mean(data['blank_duration_range'])
99+
metadata['periodic_flash'] = (data['stim_duration'], blank_dur) if blank_dur > 0 else None
96100

97101
block_length = data['lick_detect_training_block_length']
98102

visual_behavior/translator/foraging2/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
get_stimulus_window, get_volume_limit, get_failure_repeats, \
1414
get_catch_frequency, get_free_reward_trials, get_min_no_lick_time, \
1515
get_max_session_duration, get_abort_on_early_response, get_session_id, \
16-
get_even_sampling, get_auto_reward_delay
16+
get_even_sampling, get_auto_reward_delay, get_periodic_flash
1717

1818

1919
from .extract_stimuli import get_visual_stimuli
@@ -164,6 +164,7 @@ def data_to_metadata(data):
164164
"initial_blank_duration": get_initial_blank_duration(data),
165165
"even_sampling_enabled": get_even_sampling(data),
166166
"behavior_session_uuid": behavior_session_uuid,
167+
"periodic_flash": get_periodic_flash(data),
167168
}
168169

169170

visual_behavior/translator/foraging2/extract.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,3 +1434,7 @@ def get_abort_on_early_response(data):
14341434
abort on early response boolean or None if not found
14351435
"""
14361436
return data["items"]["behavior"]["config"]["DoC"]["abort_on_early_response"]
1437+
1438+
1439+
def get_periodic_flash(data):
1440+
return tuple(data['items']['behavior']['config']['DoC']['periodic_flash'])

0 commit comments

Comments
 (0)