So a few weeks back, Alexander Levantovsky from Magicplot systems LLC came across my blog and read my excellent post [/selfpromotion] on the open peak tracking software I made. He then got in touch and offered to give me a copy of his MagicPlot (version 2.5.1) software to try out and review on the site – which was nice 🙂
NB: if you don’t want to read the next ~2000 words on MagicPlot’s features, then please skip to the end – where I put a two sentence summary.
Who is MagicPlot systems LLC?
The short story is that MagicPlot systems LLC. is Alexander Levantovsky. The slightly longer and far more intresting story, is that Alexander was a Masters student at the (coolest department name ever ) department of Quantum Magnetic Phenomena; faculty of Physics at St Petersburg State University. As part of his Masters thesis in applied Math and Physics, he wrote MagicPlot to give him the flexibility to apply a whole range of complex customisable equations to the fitting in his plots. Following his MSc he then continued to develop MagicPlot, drawing on some further expertise from his colleagues at the Faculty of Physics that bring a range of other features into the program.
His basic ‘vision’ for MagicPlot was to create a program that was functional but not as bloated as other available packages (where most users only use a fraction of the features – I’m looking at you SigmaPlot). Alongside this design focus, the other goal of the project was to make some form of this system available to students for free. A sentiment appreciated by many students, I’m sure.
What is MagicPlot?
MagicPlot is, as the name suggests, a piece of graphic plotting software. Although this is a little misleading, as where this software really focuses and excels is not in plotting the data in visually appealing plots but in the simplicity and depth of its data analysis software.
There are two versions available – the free ‘student’ edition which is essentially the core package without the higher level math/tracking; and the all-in pro version which unlocks all the snazzy features. I’ve tried my best to differentiate between the two versions here because I remember being a poor student relying on the altruism of companies like MagicPlot systems LLC and I figure the greatest number of users will want to know what they can get for free.
It is cross-platform (java) and provides a project workspace in which you can load multiple datasets andd then generate plots and manipulate the data in a similar column-math fashion to Excel.
Putting in the data
Importing data in MagicPlot is simple if basic. You can only import from text files (no Excel or any other common data file formats) although you can import almost any text file with a very handy import window.
As you can see, there are plenty of options to make sure your data gets processed right. I tried it with several files and struggled to find an arrangement that it didn’t have an option to deal with. You can even have it generate a brand new figure straight away, based on the data. If all of this is looking a bit too technical then you can just use the straight copy>paste method – which works equally well but is somehow less elegant.
[Pro version] In addition to the basic file import options, the pro version allows you to batch-import an entire data set, which is very useful for processing – for example, time resolved scans. This import system has one big advantage over the basic system as you can pre-prepare a template figure or data table with pre-prepared column math in to which the data is then populated automatically. This is a huge time saver for anyone who needs to manage a number of datasets.
The basic premiss of MagicPlot is simple flexibility, so it’s not very surprising that when it comes to creating formulae the program is pretty efficient. Like Excel (and others) it uses a simple formulae bar at the top of the screen and a formula builder to create seemingly limitlessly complicated math functions with which to re-process your data. The language is most likely familiar to most people, with a simple formula for summing up two columns looking like this:
cell(A, i) + cell(B, i)
I should note that I used the forum to try and understand this language a little better, and I was stunned to see that pretty much any question asked was answered by someone at MagicPlot in about 1-2 hours – which is some pretty impressive customer service for a small company.
There is only a small set of basic functions within the formulae builder but these are more than enough to re-create anything you can do on a calculator, and as I mentioned before, is backed up by some great forum support showing you ways of writing these to do a whole range of tricks.
Plotting to make a figure
This program is very quick to produce simple publication ready graphs by default. Creating a figure is simple and requires the familiar action of selecting the data table and clicking the ‘Create Figure’ button. This will then make you a basic looking figure which you can then customise to your heart’s content. MagicPlot is not shy about giving you choice over the way your graph is presented – I think the design idea behind plotting graphs was “if you can see it, you can change it” as every tiny detail is customisable with a pretty impressive range of options.
Where this really shines for me, is that you can create and re-use templates of previous graphs – a feature that almost makes me want to hug the developer for its user-friendliness. Nothing annoys me more than having to re-do the formatting on 4 different but similar figures for a publication – with MagicPlot you only need to do it once and then load from the template.
[Pro version] The extra-money version has one crucial addition to plots and that is the ability to add additional axis to a plot. This feature allows you to both add a y2 and a x2 axis and also to draw multiple plots in the same figure, including inset plots. Also for some reason, the ability to draw shapes and annotate your plots is reserved for the Pro-version.
UPDATE: The creator of MagicPlot got in touch via the comments section and pointed out that you can actually paste text to annotate a plot in the student version, he also said it was a secret so please don’t tell your friends
Doing plot math
Okay, here I am way out of my depth with what this program can do. Essentially, if you make a plot, you can do enough curve fitting math on it to make a Biochemist’s head spin. From my limited understanding, the student version gives you everything you’ll find in Excel and some great custom curve options that make sense even to me. More than a basic understanding of curve fits is probably required for anything above a linear fit but I think we could do with understanding our math a little better, so this is no bad thing really. Many a time I’ve seen a student, asked to check their data for curve fit, reach for the Excel polynomial fit (hint: this is almost NEVER the answer) without really understanding what they are actually doing.
Personally, I find this layout really helpful and it’s nice to see a clear break down of the curve fitting math (which can be a bit abstract in other programs).
[Pro version] The plot math is where the pro version really starts to to differentiate itself. For starters, you get a whole new tab of curve fitting called ‘Guess’ – which is essentially a feature detection system. I was going to compare the feature detection algorithms used here with my feature tracking system but to be honest, they are two completely separate systems for two different applications so I can’t. However, for the spectral data I use, it is certainly capable of detecting a range of peak shapes in multiple places across the spectra.
[More Pro version] One other big addition to the Pro Version is the appearance of a ‘Processing’ menu that opens up a selection of data processing tools such as smoothing, fast Fourier transform and integration. All of which come with their own little helpful tool-tip style box with a preview of your data, which, like the curve fitting, is very helpful for visualising exactly what your transforms are doing to your data.
Getting data & pictures out
Each set of tables and figures is saved as a ‘project’ within the program and these can be saved and re-loaded from a proprietary XML file format, which is great for slowly building large data sets or simply collecting all the data for a paper or project. These project files can also be loaded using the freely available MagicPlot viewer if you want to share large projects with other people who don’t normally use MagicPlot.
UPDATE: Whoops I got this wrong, according to Alexander MagicPlot viewer only opens .txt files. In future he plans to change the name to stop hasty bloggers making theses kinds of lazy mistakes again 🙂
Exporting data from the program is done using text files, so each table created can be exported as its own text file. Figures are then exported as images (png, bmp and gif in the student version) and can be made grey scale (another useful feature for anyone preparing a paper) and at a range of dpi values.
First off, I want to say that I love that MagicPlot has a free version available to students – and they deserve bonus review points just for that. But the question everyone wants answered is – what exactly am I getting when I download MagicPlot?
Well, the answer is you get a good data management package that is easy to use with great support and room for deep data customisation. What you don’t get is a feature packed data processing program. This is a great tool for writing your own data processing but there is little hand holding and few easy-click functions.
Obviously, the Pro-version adds in a lot of extra functionality and covers a huge range of very common tools. But honestly, I found the differentiation between the two versions a little frustrating. I understand charging people for the advanced maths but also cropping out feature such as the ‘drawing’ options on plots or the ‘batch importer’ are kind of just irritating. I understand that the developers need to drive people to actually pay money but I have an alternative recommendation – DLC.
DLC (downloadable content) is getting pretty commonplace in the world of gaming (a world I spend plenty of time in) and is used to either extend a game (new levels etc) or simply give the user access to things not in the original release (new guns etc).
Now where this fits with MagicPlot is that rather than put all the pro-version features behind a single-fee pay-wall, why not allow users to add them individually as they need them. For example, something like figure drawing could be just $2 whereas complex FFTs might be more like $5. That would allow some users to pay a little towards the software but without having the pay the full $150 which would be in-keeping with the software designers’ vision of not producing a bloated software package. It’s probably a massive pain practically, but when I was a student I would have been happy to part with a few quid to get the exact program I needed rather than a big chunk of cash for a load of processing I didn’t need. But even if they didn’t want to create a complex DLC system (which would probably require a not-insignificant amount of programming) it would be great to see a middle-teir program (~$15) that offered some more features than the free version but left off the complex curve fitting available in the pro.
I honestly really enjoyed playing with this software and at a later date, I may revisit it to write a little how-to on managing data. I think MagicPlot might end up being a good solution for collating data for papers prior to publication, and so that I can easily release it to repositories like Figshare rather than keeping everything in folders on my HDD.
QUICK SUMMARY: This is a great piece of software with great support. The free version is pretty rich in features and well worth looking at to try it out for yourself 🙂