thartbm / PyVMEC

A Python-based GUI to create and run visuo-motor experiments.
GNU General Public License v3.0
1 stars 3 forks source link

Participant list in main GUI: only 'continue run' when applicable #65

Closed thartbm closed 5 years ago

thartbm commented 6 years ago

We need some tests to allow the 'continue run' button to be pressed:

Maybe we should color participants light grey when they have incomplete but compatible data, and mark them red when they have incompatible data?

thartbm commented 5 years ago

This should use the function described elsewhere to generate participant lists. Upon loading an experiment, call the function and show only participants in lists 0 and 1.

Only for participants in list 1 should there be an option to 'continue run'.

If there are any participants in list 2, we might show a pop up with a warning?

juliusjgm12 commented 5 years ago

I tried different methods using ansi escape strings to integrate color into strings for the participants but it doesn't seem to work for wxpython.

This would be the same method I'd need to use to underline or add italics to individual strings in the participants list box so those won't work either.

Instead, I'm thinking of adding a number code (as in the function you described generating the participant dictionary). I would add the corresponding number to a string 0,1,2,3 depending on where a participant lies in the generated participant dictionary.

What do you think?

thartbm commented 5 years ago

Maybe put brackets [] or parentheses () around incomplete participant IDs?

Or my earlier idea: have two separate lists... and a bigger GUI.

juliusjgm12 commented 5 years ago

Sure, i'm thinking square brackets for incomplete participant IDs and ~ tilde markers for non-matching participants.

thartbm commented 5 years ago

I'd not show the non-matching ones... I think? How about we have tick marks so people can pick if they want incomplete or non-matching participants? Not now, perhaps in a future release!

juliusjgm12 commented 5 years ago

Uhmmm... Well for now I've added the tilde and square brackets. I think it's good to have the non-matching participants there so students can go in and delete that participant if they wish.

Having a tick marker is a good idea though!

thartbm commented 5 years ago

Yes, but that requires lots of extra coding. I'm just worried that people will confuse the two. Of the two (incomplete / non-matching), the incomplete are most easily fixed, you continue the run. The non-matching you can't fix, but they won't be incorporated in the data pre-processing anyway, so I'm thinking that not showing them will give students a more accurate assessment of how much data they have or still need to collect for an adequate dataset.

So I see two alternatives:

Actually, I think you can change the text / function of a button dynamically in WX, so there could be a single button, that changes it's look and function depending on the participant's state:

COMPLETE & MATCHING: re-combine data MATCHING but INCOMPLETE: continue run NON-MATCHING: delete

But again, the simpler solution is to just not show the non-matching ones... at least for now. That way no-one is confused about anything, and you can keep the buttons and everything just the way it is.