More coding adventures
It’s another day and another chance to make progress with data processing. Since it’s been a busy few weeks since hospital-PI has returned to the lab, I haven’t had a ton of time to work on the dataset that we collected, the first of hopefully many. However, the initial analysis is done, so it’s time to move forward and start thinking about what comes next. That is, how can we refine what we’ve done? There’s a lot of steps I can take, but I think today we’ll sum it up and narrow it down to the steps I’m most excited about.
Since this is a “big idea’ talk, let’s review what big idea actually is. Just kidding, because big idea is a secret, but we can talk around it like so… Big idea was an idea I had over a year ago now (more here). It was going to change the way we did things and really just push the state of the art forward. Since proposing big idea, hospital-PI has thrown money into the project, and even more recently. We also had other PI’s in the hospital who were interested in the project and funded other semi-similar uses for the idea, but not exactly my big idea, which is both a way of doing something and the way we apply it. I promise this will make sense one day when we publish, but for now that’s about all the detail I can give.
Since we started the project we’ve had a lot of attempts at using the setup I proposed, but we have exactly one dataset that was exactly how I envisioned it. A quick check of the data reassured me that we actually had something worth looking into and for the past month in my “free time,” (haha, what’s that?) I’ve been chipping away at making sense of the data and convincing hospital-PI that what I’m showing is (1) real and (2) useful. He’s my toughest critic, so if he’s on board then I’ve done a good job of making my case. At least that’s how I look at it. To be fair, he’s incredibly supportive of the idea, he just has a high bar for proof, which is good because if we publish I want to be absolutely certain that we have something worth publishing.
However, this isn’t a funded project, so it’s not something on the forefront of work that needs to be done. It’s a “nice to have” or a “possible project” not a hit the ground running, let’s do this type of project. It has to fit in the tight confines of other responsibilities in the lab. So nights, weekends, and whenever I can get a day free to work on it is the time that most of it gets done. Since this is mostly my baby, I don’t mind putting in the work since it’ll be my name on it. So I’ve been working on learning some new tricks in terms of analyses that we can do and basically writing the tons of code that goes into a project like this from the ground up. It’s been a lot of work, but so far it’s been worth the work.
The point being that doing all this work up front will speed up the analysis later when we have more data. Instead of taking months for a finished product (or maybe even a year), I can finalize most of the code and get answers in weeks from new datasets. But there’s still a lot of work to be done and I’ve barely scratched the surface, so I’ve worked out some of the future directions with hospital-PI and I’m trying to get the code written for that expanded analysis. At the moment I’m working on three different changes to the pipeline I’ve already worked out.
One is a different way to do an analysis that I’m currently applying to the dataset, but is a better way of doing it. I guess better is subjective, maybe a different way? It has benefits that I want to take advantage of, how’s that? It is something I’ve done in the past, but I’m not super familiar with it and I am still working out the implementation of it in my code. This shouldn’t be too hard to do once I really dig into it, but there’s a lot of prep and things I need to figure out. I need to know how to use the functions I want to use and what the data should look like so I can be sure I’m implementing it correctly and adjusting the things that can be adjusted to the best possible outcome. Basically it’s a few lines of code, but a lot of trial and error with some examples that are provided in MATLAB.
The second addition will give me a way to compare all my data. This is the change that I’m most excited about because it will increase the statistical power I have and let me compare across participants. It’s a technique I know of from my school lab, but one I’ve never personally implemented, so here too there’s a lot of reading about how it works, how to use it, and just testing it out on toy examples from MATLAB before I try to apply it to my dataset. I also plan to discuss some of it with at least one person on the school side who’s used this type of analysis in a paper they published. I think this will give me the best result and make hospital-PI a bit more excited about the outcome. Like most things, until I have something that looks good to show for all my work, it just looks like a pile of garbage.
The third addition is the bread and butter of my school lab. It’s implementing the data to do something “cool” with it or something practical. Since my school lab is a brain-machine interface lab, we do this type of stuff a lot (decoding EEG for certain uses). I’ve used several types of analyses like this in the past for anything from movement decoding to seizure detection (one of the first papers from my school lab was on seizure detection), and this time around I plan on doing some extra steps to make it very “fancy” looking while also predicting. I think it will be very cool to show that the data can be used for prediction, despite hospital-PI thinking it’s voodoo magic. It may not convince him that the data are good or that what I’m showing him is “real,” but it will be important to show the practical applications of what I’m proposing and I can’t think of an easier or better way to do it.
That’s essentially where I’m at right now and today I’ve made serious progress on both the first and second parts of this. The third will come after I do some more fine tuning and possibly after other types of analysis. Part three will definately be one of the last things I do, but it’s also one of the more exciting things. So next time I talk about the project and all the work that there is to do, it’s probably because I’m trying to finish one of these three parts. To be fair, there are about a dozen steps between where I am now and the third thing on my list, but listing all those out would be a bit much considering this post is already incredibly long.
So with that, I should probably get back to my coding. I’m still very excited about this and I really do think it will be a huge deal once we finish! We’re in the process of trying to collect more data, but even if it’s a bit of a wait at least I have things to work on!