[ ] Implement get_extended_trials (drop-in replacement for create_extended_dataframe) for:
[x] Image behavior sessions
[ ] Gratings behavior sessions (CC @nickponvert)
[ ] Remove visual_behavior references from mtrain_lims:
[ ]
from visual_behavior.translator.core import create_extended_dataframe
# from allensdk.brain_observatory.behavior.trails_processing import create_extended_trials
from visual_behavior.schemas.extended_trials import ExtendedTrialSchema
# from allensdk.brain_observatory.behavior.mtrain import ExtendedTrialSchema
# from visual_behavior.translator import foraging2
[x] move "criteria.py" module and all dependencies (session_metrics) from mtrain to mtrain_api (or allensdk)
[x] visual_behavior.change_detection.trials.masks can be moved whole-sale
[x] visual_behavior.utilities.get_response_rates functionality is already in allensdk (roughly allensdk.brain_observatory.behavior.dprime)
[ ] visual_behavior.utilities.flatten_list can be moved whole-sale
[x] visual_behavior.metrics.d_prime is already in allensdk (allensdk.brain_observatory.behavior.dprime). Also the VBA implementation has a bug
[x] assign_trial_description is easy enough, but it has a kinda tricky sub-dependency: trial_translator. However, allensdk.brain_observatory.behavior.trials_processing.categorize_one_trial might be an equivalent function.
[x] Unfoobar Mouse class; currently implemented twice in mtrain and mtrain_api. Should keep the mtrain_api implmenetation. Create criteria.py submodule in allensdk.brain_observatory.behavior with atomic functions whose names correspond to the advancement criteria in mtrain_regimens.regimens.yml. import these functions (that really implemetn the guts of the state machine transition) in the mouse.py class in mtrain_api; same-named methods on that class then wrap the behavior.
[x] Consider refactoring interface.py/Interface class to be simply a library/module, that can be handed to the mouse object.
[x] Update Makefile and Dockerfile in mtrain_api to no longer reference (i.e. pull and use as a dependency to build the image) mtrain
The code should instead go to allensdk. Requires moving: