Impulse 1.1: Experience true experimental freedom with Python
With the latest version of Impulse, you can now control our systems using Python scripts and fully customize your experiments
We are excited to announce the release of our latest Impulse 1.1 software. By creating an API for Impulse, this new update will enable you to exercise creative control over your experiments and inspire you to break the boundaries of your research. We interview our Product Architect (UX) Merijn Pen who led this development, so that you can learn all about Impulse 1.1 and how it can elevate your research.
What can users achieve with this latest version of Impulse?
1) Infinite control
With Impulse 1.1, users will now have the opportunity to experience unlimited flexibility in the control of our systems via Python scripts. In Impulse, we already have an advanced yet easy-to-use profile builder that enables you to design your own experiments. All the basic functionalities that you would require, like creating temperature ramps or pulses, are made possible with the profile builder. However, if you would like to perform more customized experiments involving for example, a particular temperature curve, more flexibility is required. This is exactly where scripting comes in. It will enable you to control multiple stimuli within our systems in any way you please.
You can also create your own feedback loops, where you can interdependently control multiple stimuli in your experiment. Specifically, you can create scripts that look at one parameter and based on some calculation or analysis that you perform on that measurement, it will subsequently control another parameter.
2) Systems integration
With Python, you can write scripts that not only control stimuli within our in situ systems, but also integrate other hardware in your experiment setup that also have an API. For example, you can trigger the data capturing of your camera from the same scripts that control your stimuli and direct the entire experiment. Moreover, in regards to data integration, scripting also allows for the real time tagging of your imaging data with all the parameters of our in situ systems. Ultimately, the main benefit of this hardware integration capability is that it makes the control of the orchestra of equipment in your in situ experiments a lot easier. You can synchronize the control of all the different equipment from one place and in that way make sure that each instrument performs its task at the right moment.
3) Processing and analysis
Python offers thousands of open-source modules that include all kinds of functionalities that allow for real-time processing and analysis of your experimental data. Therefore, with scripting you can draw conclusions from your experiments much faster.
How can users get access to Python scripts?
Overtime, we will be building an opensource database on Github where there will be numerous scripts that perform all kinds of experimental controls, integrations with other equipment, and data processing and analysis. You can use these scripts as is or customize them according to your needs. Our Github page not only offers example scripts that you can easily download, but it also includes tutorials that will help beginner programmers get started with Python programming. In fact, it should help anyone, from basic beginners to more advanced users. Of course, aside from our own database, you can find numerous scripts online as there is plenty of opensource information available online.
What led you to develop this new version of Impulse?
The vision of impulse is to make in situ experiments a lot easier and more efficient to perform. When developing and improving our software, I always put myself in the mindset of our customer and think what they would like to see. For some customers, they want to perform experiments that have never been done before. The development of Impulse 1.1 will enable this experimental flexibility and freedom. We want to give users the opportunity but also the inspiration to break the boundaries of research.
For those users who desire more basic functionalities and an easy-to-use environment, our current Impulse user interface delivers just that. With our new Python interface, we now offer unlimited flexibility to any user who would like to perform experiments that our current user interface does not allow. Of course, we will still be expanding the capabilities of the user interface of Impulse and the software itself. Ultimately, we are very proud to have found a way to develop a software that maintains ease-of-use while still offering users limitless flexibility.
Which future developments lie ahead?
Besides the Python control of the system, this API also opens the doors for new integrations into all kinds of software platforms that will be showing up in the near future. We will always strive to find innovative ways to give our customers a fully integrated user experience.