Finalizing the figures
Okay technically they are videos, not figures, but they are demonstrating things that could be shown in figure format if we had the space. In fact, we do have one figure in the paper I’m dealing with that has stills from the video demonstrating some of the things we found. With the finalization of the response for “last paper” I need to sit down and get the code fixed to redo some of these videos, which will be a challenge.
One of the cool things about “last paper” is that I did some custom work to create interesting visuals for the project. Now all the work I do is custom, there isn’t a “stock” figure in anything I’ve made. But these videos go far and beyond what I normally do. They are unique to the paper and they were something that had never really been done in our lab because no one knew how to do it. I wish I could showcase some of the stuff, but it’s not meant to be until the paper is published (sooooon, I hope). In any case, the videos really impressed school-PI and made me look like a wizard to the rest of the lab, but it was just a bunch of things I pulled together from various sources.
There were some iterations that these videos went through, but once finalized they looked pretty cool if I do say so myself. However, after seeing them dozens of times you forget that things may not be as clear to others as they are to you. In this case, one of the reviewers had some feedback regarding the videos and it was clear that they didn’t understand exactly what we were showing. So there are some changes that need to happen to clarify what we demonstrate.
The reason we even have video data in the first place is because the data are three dimensional. One of those dimensions is time, so it’s easier to turn it into a quick little video than it is to try to put each time point into a figure. We did it with one of the videos and it took up almost a full page, only showed a handful of time points, and in my opinion isn’t the best way to display the results, but it makes sense to show at least one case in the paper and say see the videos for the rest of the results. The reviewers seemed to agree (mostly), which was nice.
Today my job is to go into my code and remake the videos. This is super simple because as a good researcher, I saved my data for the videos and I saved the code used to make the videos. So all I have to do (if there were no changes) would be to open the data, open the code and press play. The computer will do the rest of the work for me without any fuss. Since I need to make some changes to the videos, it’s not that simple.
There are two points one reviewer brought up that I agree will improve the clarity of the video. One was the time points we were demonstrating. We’re using what’s called a sliding window and I added the time for the start of the window at each time point in the video…. but that isn’t clear enough for the reviewer, who asked explicitly what time the video was showing. So now I am going to add the exact start and end points for each window step into the video (not to be confused with video frame, because each second is like 30 frames, but each time point the video is showing is not one frame if that makes sense).
The second point was a small oversight on my part. One of the things we’re demonstrating is a second data measure (no giving away the surprises, sorry). That second measure has units attached and because it wasn’t an important thing to do I didn’t bother putting the scale into the video. It’s probably not a great practice to skip, but it really doesn’t impact what we were showing so I didn’t bother. Turns out I probably should’ve included it, so we’re going to toss that into the videos as well.
In total we have 10 (…I think?) videos and each of them need to be redone. Once the code is finished it’s pretty simple to pick which video I want to remake and let the code do the work, it’s just the initial changing of the code to add the extra information that will take time.
The real trick will be figuring out where to put the extra information. The videos as they stand now are pretty compact in that there isn’t a whole lot of white space that I can add this extra information into. I don’t feel like they are crowded exactly, but there isn’t much room for other stuff. So I’ll probably have to play with the scaling or make the videos a slightly longer (or maybe wider) size. It won’t look as nice (again my opinion), but it would look better than trying to cram something into the video when there isn’t space and having it potentially overlap something else or worse make things even less clear by making it appear to be part of the data (text and in particular when giving units can be tricky like that).
Overall I’m not anticipating a lot of headaches doing this, but that’s the importance of writing code to generate these things. I could’ve done it all manually and maybe (probably not though) saved me some time upfront, but it would’ve cost me now having to go back and redo all this without good code written out for it.
In fact since I last used the code I’ve gone in and made it easier to select between different things. At first this was done manually, but now you change one variable and it automatically changes the rest of the stuff for you. It’s pretty handy and I never thought I would need it because I wasn’t planning on ever needing this code again, but here we are. So sometimes spending a little extra time to write code that is good (especially flexible code) is important. I’ve used some of the code I wrote for this project for a different project and it saved me a lot of time (which is great for me).
Your results may vary, but in my opinion the best practice is to write code for anything you make because it will be useful to you later down the line. Or you can use it to laugh at yourself years later when you realize how poorly written it is, been there too!