JaneliaSciComp/G4_Display_Tools

Saving an experiment doesn't copy the Analog Output Function

floesche opened this issue · 6 comments

How to replicate:

  • Start Experiment Designer
  • Create a simple protocol with at least one Analog Output Function
  • File -> Save As
    • choose new directory (in my case "c:\matlabroot\MyExperiment01"
    • Choose "MyExperiment01.g4p" as a file name
    • Click "Save"

image

The resulting folder 06-22-23_13-16-15 contains the subfolders Analog Output Functions, Functions, and Patterns along with MyExperiment01.g4p and currentExp.mat. Functions and Patterns have the *.mat and *.pfn / *.pat files, but Analog Output Functions is empty.

When trying to "Open" the 4gp file in the Designer later, I see this error:

image

Weirdly one of the AO functions shows up:

image

In a second test with just one trial and 2 differently named AO functions, the export worked.

So maybe the problem seen above is related to either the frame index or using the same name for the Position and the Analog function?

Needs more investigation.

In the first attempt when you had trouble saving, the AO function name is the same as the position function name - but is it actually the same file? Is the binary that goes with the function a .pfn or .afn file? Does it have the prefix fun or ao?

No, it was not the same file. I created a Position function with that name first, which created a *pfn file in the Functions folder. Then switched over to AO functions and created an AO function with the same name, which created a *afn file in the Analog Output Functions folder.

In the designer I loaded the whole folder, which gave me different functions (and renderings) for functions/AO functions.

This happened to me yesterday when testing out the AO index display in the Conductor. If I imported the functions and created a new experiment with them and saved, it worked fine. But if I opened an existing protocol with AO functions, changed something, then saved it, the AO functions did not export. Will look into it this week.

@floesche Updating to add that I tried to re-create this again today and I couldn't, neither on my computer or on the flight arena computer. Last week, it definitely was happening on the flight arena computer, but now it's not, using exactly the same protocols. Maybe the bugs I fixed last week fixed this, but if so I'm not sure exactly how, so I will leave this open. If it happens again, please note as much as you can about the protocol being used and the environment, and let me know.

Probably fixed