ThermalFit
Thermal Fit
Data Import
This application imports ASCII files, which have two columns of data: column 1 is the frequency and column 2 is either the amplitude or the power, more technically it is the PSD (power spectral density) or the ASD (amplitude spectral density). You have to check, which quantity your instrument actually exports. ASDs will be of the order of pm (10e-12), PSDs will be on the order of 10e-24. You have to set the radio button "is Power" accordingly.
Units of the data are expected to be "Hz" or "m" or "m*m".
If your data, have different units, e.g. they are scaled in kHz, you can use the xscaling or yscaling for correcting this, e.g. by using a scaling factor of 1e3.
You may want to download a sample file here.
Using the Application
The application will analyze PSD data in a region of interest determined by frequency1 and frequency2. It will fit two different models to the data: (1) a single harmonic oscillator (SHO) and (2) a Lorentzian. There are arguments, that a SHO will be appropriate for PSD data in air, where the Lorentzian may work better for data in liquids, because it handles better high damping (low Q). For air data the two fit routines often result in the same results.
After the fit, the software will calculate the force constant using the results of the fit and the temperature (given in degrees C), basically by employing Boltzmann's equipartition theorem.
Some parameters (xscaling, yscaling, oldkappa, newkappa, temperature) modify the data or control the fitting procedure. If these parameters are changed a new fit will be started and the fit results will be displayed in the appropriate fields.
For the SHO fit this will be AMp (DC), Q, Omega, White Noise and the force constant. For the Lorentzian it will C1, C2, Omega, White Noise and the force constant.
If you change one of these fit results, then actually no fit will performed, but the theoretical curves will be recalculated. This allows you to see, how these parameters influence the theoretical curves. You may even want to improve a fit by changing manually parameters. However, we have doubts that this will result in any improvement.
The Kappa factor story
In AFM the deflection signal is calibrated by taking a force curve. This procedure will result in a factor, which converts the voltages measured by the deflection sensor in distances measured in Nanometers. This conversion factor is called deflection sensitivity in most instruments, or sometimes InvOLS, which is for Inverse Optical Lever Sensitivity.
Since the optical lever actually senses the orientation of the end of the cantilever and not the deflection itself, this sensitivity is different for a cantilever in contact with a sample and a freely oscillating cantilever. Since the amplitude cannot be calibrated in AFMs, usually a correction factor kappa is used to calculate the amplitude sensitivity from the deflection sensitivity.
Unfortunately this kappa factor depends on the geometry of the cantilevers and the details of the instrument (spot size) and the adjustment of the laser spot by the user. Therefore there is no "right" value. As a matter of fact values between 1.06 and 1.11 circulate in the literature. We believe that 1.08 is a good value for soft triangular cantilevers used in bio-AFM.
Most instruments apply this kappa factor to the data and actually plot amplitude instead of deflection in a thermal. However, in Nanoscope the deflection is plotted (and exported) in a thermal, and the correction (by kappa) is done at the final step, when calculating the force constant. This is not wrong, but requires two different approaches, when using the application.
For most instruments:
Enter the kappa value your software used in the field old-kappa. Enter 1.08 as new-kappa. This value will be used by the application.
For Nanoscopes:
Enter 1.0 as old-kappa regardless of what you used in the Nanoscope software. Enter 1.08 as new-kappa. This value will be used by the application.
Understanding the application
The application will fit either a single harmonic oscillator or a Lorentzian to the data. From the fit results the force constant will be calculated using Boltzmann's equipartition theorem.
The results of the SHO can be seen in the third column of numbers (Amp (DC), Q, Omega0, White Noise and Force Constant), whereas the reulst of the Lorentzian will be seen in the right most column (C1, C2, Omega0, WhiteNoise, Force Constant). In addition a theoretical PSD (based on the fit results) will added to the plot in green (SHO) or blue (Lorentzian) to check the quality of the fit visually.
More information on the routines used will be added soon.
System Requirements
We have tested both applets in the following configuration:
JavaRE 1.7.0.51
Mac OS X 10.7, 10.8, 10.9
Windows XP, Windows 7
Ubuntu Linux 10.04, 12.04
Since the applet loads data from your system, you need to grant them the necessary privileges and change the certificate.
This requires to include our website on the Java exception list and then accept the certificate.
Java Exception List
In order to do so, you have to set the appropiate exemption in the second tab of the Java Control Panel. If you feel uncomfortable with this procedure, you may download the source code and run it locally. We have used Eclipes for development.
Accept the Certificate
9th October 2017
New Version 1.0 released
ThermalFit is no longer available as an Applet, because most browsers
do no more accept running Applets. You can download the application
and run it locally.
25th February 2014
New Version 0.3 released
Bugs with the graphical display fixed.
Applet has a valid certificate now.
Correction factor for Dubrovnik method implented.
28th August 2013
New Version 0.26 released
Minor bugs in fit routine fixed.
Import routine is less picky now and allows spaces and tabs as separators.
Lines starting with letters are ignored.
This version reads text files from MFP3D and various Bruker instruments. It also read TND files from JPK.
25th July 2013
New Version 0.23 released
The new version has a streamlined graphics. In addition an equivalent AmpDC and Q is calculated for the Lorentzian fit.
Source Code released
The source code of this version is made available to the public.
21th July 2013
Bug fixed
For input of values various Checklimits have been adjusted
Feature added
The frequency axis shows now the actual frequencies, instead of log(frequency) still being a logarithmic axis
Credits
This applet has been written by Holger Doschke and Manfred Radmacher at the Institute of Biophysics of the University of Bremen.
The Levenberg Marquard algorithm has been adopted from Numerical Recipes.
The XY plots are created with the open source library JFreeChart.
Thermal Fit
You can download the application here.
You can download the source code for both applets here.
You can download a sample data set here.
The applet has been developed with Eclipse.
Plots are created with the open source library jFree Chart.
The software publicated here is free, may be modified and used for non-commercial purposes according to the GNU (General Public Universe).