Software plays a fundamental role both in the measurement (firmware) and in the subsequent data processing by the user (interface). For this reason we dedicate a substantial effort in maintaining and improving our software components and delivering timely updates.
Our software development is done completely in-house. Before being developers, we are scientists and users as well. This means we value your suggestions for new features as it came from inside, and we act urgently for the urgent needs of your Lab, as if it were ours.
Our secure firmware runs on a powerful I8 or better embedded control computer operated by GNU/Linux OS. Both the firmware and the operative system are easily upgradable and can be hardened for extreme security.
Our instrument is completely Stand-alone: USB Monitor, keyboard and mouse can be directly connected to access a tailored user-interface for simultaneous measurement and data processing. No additional PC is needed. If you need to, you can work with your Windows, Mac, Linux: your PC will connect flawlessy via WiFi or ethernet and perform the same tasks. Thanks to our modern control firmware design, concurrent client connections are also supported. Our choice of GNU/Linux for our most critical control environment is unique in the industry. We did that in order to ensure:
Our applications are conceived to integrate with different platforms and our instruments are designed to run in the most flexible network configuration. We care about your preferences and habits in terms of software environment and network security policies. The result is the extraordinary adaptability of our products, unmatched in the analytical instruments market.
Our superior user interface and data processing software offers:
The instrument can be connected to our cloud services (Ceramics Genome®). Let us take care of data backup and offer an optimized web interface for accessing your test data and directly plot it.
Through our cloud services, we provide advanced functionalities with a simplified interface: you do not need to be an advanced user to unlock the full potential of our instruments.
Through our services you can access the native data, both current, previous versions and even locally deleted files. Files can be downloaded and shared via temporary links, or directly opened in our installed applications via optimized API calls (useful for big files).
We have an unique approach to software, driving the development of unique features on the instrument development landscape.
The article titled “The case for open computer programs” (Darrel C. Ince, Nature 2012) opened stating that:
Scientific communication relies on evidence that cannot be entirely included in publications, but the rise of computational science has added a new layer of inaccessibility. […] We argue that, with some exceptions, anything less than the release of source programs is intolerable for results that depend on computation.
Since then, Nature keeps a focus on the scientific reproducibility crisis that is leading to increasing public distrust in science.
Measurement instruments are more and more integrated in large laboratories, where many different measures combine to provide complex data pipelines, from which the lead scientists need to extract insight and knowledge. Material characterization comes from a patchwork of anlogic measurements noted on paper and instrumental results manually copied and summarized on spreadsheets.
In order to digitalize the process, modern instruments - and their data - need to be programmatically accessible by software developers, so that they can help scientists create a digital pipeline that can dramatically speedup materials characterization.
That’s why we choose to adopt a developer-friendly philosophy. We asked ourselves and our early customers the question: “What software features would we, as developers and scientists, love to have in a measurement instrument?”. We identified 4 strong requirements:
Our instruments save data as HDF5 (Hierarchical Data Format, version 5), a high-performance, self-describing binary format capable of organizing huge amounts of data. It was originally conceived at the U.S. National Center for Supercomputing Application and is now open source and manage by The HDF Group non-profit. The HDF5 file format can be opened by a multitude of languages and tools; our preferred is Python. Our output files contain:
The instrument exposes an HTTP REST API with which it is possible to control any parameter and access all the functionalities. The user interface uses that same API to run the measurements and download data, and it is fully open source.
The API uses the XML-RPC protocol to communicate commands and read their results. The API can be accessed from Python3 or by executing the client software through the terminal with the –cmd flag. This makes the instruments Industry-4.0 ready, which in some countries is a prerequisite for public funding.
We provide a Python3 package containing shortcuts for accessing the optical-thermal analysis data in the most meaningful way for our users. Instead of digging into the details of the HDF5 file format and its interfaces to various operative systems, and then learning how we encode information, we provide direct access through an easy-to-use interface layer.
Our data API allows to automate the task of accessing thousand of files, extracting a curve and perform a custom calculation or compare them. You can elaborate a new profile analysis algorithm, apply to a microscope test and even store your results into the the test itself, for further processing with our graphical tools.
Our Python package perfectly integrates into the Jupyter Notebook environment, a powerful tool for scientists and researchers willing to test their algorithm on our instrument’s data.
We keep for ourselves only the instrument control most inner algorithms. What you use everyday, and you might need to modify to integrate or extend, is open source (either GPL3 or LGPL).
You can study the instrument control software source-code in order to understand how to automate your tasks. You can read how to open a file, read data and save data. You can even modify our code and submit a pull request on GitLab.