AllenNeuralDynamics / dynamic-foraging-task

Bonsai/Harp workflow for Dynamic Foraging with Python GUI for visualization and control
MIT License
5 stars 4 forks source link

Generalize box names for non-447 rigs. #581

Closed hagikent closed 2 days ago

hagikent commented 3 days ago

https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/ecb79fb2f0d7f6bd1b09e80b6609198d56013084/src/foraging_gui/Foraging.py#L1138-L1145

I guess this needs to be fixed for 446 and beyond? (couldn't tell how ephys rigs are circumventing this)

alexpiet commented 2 days ago

No, the 447 rigs are the special cases that need to be handled. self.current_box is set from ForagingSettings.json. In all rigs other than 447, this contains the full box name (446-6-A, or 428-9-A, or 323_EPHYS1), because each computer has one box. In 447, because there are two boxes ForagingSettings.json contains only a partial box name (447-1, or 447-2), we have to use the self.box_number to figure out the full box name.

        if self.current_box in ['447-1','447-2','447-3']:
            mapper={
                1:'A',
                2:'B',
                3:'C',
                4:'D'
            }
            self.current_box='{}-{}'.format(self.current_box,mapper[self.box_number]) # append box number here for 447 rigs

tl;dr - the code works for all rigs outside 447. Just set ForagingSettings.json to use the full box name as current_box

hagikent commented 2 days ago

each computer has one box

Ah, I see, thanks for clarification @alexpiet !