{"id":366,"date":"2013-07-13T03:14:11","date_gmt":"2013-07-13T02:14:11","guid":{"rendered":"http:\/\/antonpotocnik.com\/?p=366"},"modified":"2024-05-26T16:07:55","modified_gmt":"2024-05-26T15:07:55","slug":"nmrana","status":"publish","type":"post","link":"https:\/\/antonpotocnik.com\/?p=366","title":{"rendered":"nmrAna"},"content":{"rendered":"<p><strong>nmrAna<\/strong> is a Matlab-based tool for analysis of nuclear magnetic resonance (NMR) measurements. The program allows to analyse the entire series of measured spectra as a function of temperature and other parameters like Tau in case of spin-lattice time (<em>T<\/em><sub>1<\/sub>) measurements.<\/p>\n<h3>Authors<\/h3>\n<ul>\n<li>Anton Poto\u010dnik (IJS, F5)<\/li>\n<li>Andra\u017e Krajnc (KI)<\/li>\n<li>Peter Jegli\u010d (IJS, F5)<\/li>\n<li>Toma\u017e Apih (IJS, F5)<\/li>\n<\/ul>\n<h3>Features<\/h3>\n<ul>\n<li>Automatic fast fourier transform from FID with auto phase and auto SHL option.<\/li>\n<li>Analysis of <em>T<\/em><sub>1<\/sub> and <em>T<\/em><sub>2<\/sub> measurements with fitting of magnetization curves (fminsearch)<\/li>\n<li>Analysis of pulse-length optimization measurements (<em>D<\/em><sub>1<\/sub>)<\/li>\n<li>Analysis of frequency sweep measurements<\/li>\n<li>Linescan analysis (<em>e.g.<\/em> analyse <em>T<\/em><sub>1<\/sub> over the spectra line)<\/li>\n<li>Spectral component fitting using entire magnetization recovery measurements<\/li>\n<li>Extraction of spectra from magnetization recovery measurements<\/li>\n<li>Spectral moment analysis<\/li>\n<li>Plot of various experimental parameters<\/li>\n<\/ul>\n<p>Analytical functions are defined in separate files, so one can easily add new functions or change the existing ones.<\/p>\n<h3>Recognized file formats<\/h3>\n<ul>\n<li>In-house 7NMR file format<\/li>\n<li>Andra\u017e Krajnc developed conversion tool from Bruker NMR data files to 7NMR format<\/li>\n<\/ul>\n<h3>Screen shot<\/h3>\n\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-366 gallery-columns-3 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/antonpotocnik.com\/?attachment_id=321'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/antonpotocnik.com\/wp-content\/uploads\/2013\/07\/nmrAna1-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-321\" \/><\/a>\n\t\t\t<\/dt>\n\t\t\t\t<dd class='wp-caption-text gallery-caption' id='gallery-1-321'>\n\t\t\t\tSpin-lattice time analysis\n\t\t\t\t<\/dd><\/dl>\n\t\t\t<br style='clear: both' \/>\n\t\t<\/div>\n\n<h3>Source Code<\/h3>\n<p>Distributed under GNU GPL license. If the analysis obtained by this tool is going to be published in any journal, the authors are required to cite this webpage.<\/p>\n<p><a href=\"https:\/\/github.com\/apotocnik\/nmrAna\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/apotocnik\/nmrAna<\/a><\/p>\n<h3>Documentation<\/h3>\n<h4>FFT parameters<\/h4>\n<div><\/div>\n<div><strong>SHL\u00a0 <\/strong>shift left (index)<\/div>\n<div><strong>PH\u00a0 <\/strong>phase (radians)<\/div>\n<div><strong>autoSHL = 0, 1, 2, 3<br \/>\n<\/strong><\/div>\n<div>\u00a0\u00a0 0: the SHL value,<\/div>\n<div>\u00a0\u00a0 1: mean of autoCorrInd values<\/div>\n<div>\u00a0\u00a0 2: individual SHLall(:,2) from FID<\/div>\n<div>\u00a0\u00a0 3: weighted (0-1) SHL average according to\u00a0SPC intensity and above threshold defined by CUT<\/div>\n<div>\u00a0\u00a0 4: fitted SHL values from previous analysis using first order polynomial<\/div>\n<div><strong>autoPH = 0, 1, 2, 3, 4<\/strong><\/div>\n<div>\u00a0\u00a0 0: the PH value,<\/div>\n<div>\u00a0\u00a0 1: mean of autoCorrInd values<\/div>\n<div>\u00a0\u00a0 2: individual phiall(:,2) from FID<\/div>\n<div>\u00a0\u00a0 3: weighted (0-1) phi average according to SPC intensity and above threshold<\/div>\n<div>\u00a0\u00a0 4: fitted phase values from previous analysis using second order polynomial<\/div>\n<div><strong>autoPH_SPC = 1,2,3 \u00a0<\/strong><\/div>\n<div>\u00a0\u00a0 1: mean of autoCorrInd values from the\u00a0spectre at PH_v freq<\/div>\n<div>\u00a0\u00a0 2: correct from SPC phase at PH_v freq<\/div>\n<div><strong>LB\u00a0 <\/strong>exponential (Lorentzian) line broadening (Hz)<\/div>\n<div><strong>SI\u00a0 <\/strong>time domain (number of FFT points, must be 2^n)<\/div>\n<div><strong>DE = 0,1\u00a0 <\/strong>double echo<\/div>\n<div>\n<div><strong>TURN = 0,1\u00a0 <\/strong>invert frequency axis (required for 380 MHz spectrometer)<\/div>\n<\/div>\n<div><strong>autoCorrInd = 1:5<\/strong> \u00a0 vector of sorted indeces that are used for auto correction<\/div>\n<div>\n<div><strong>avrPoints<\/strong>\u00a0 number of FID data points around SHL used to calculate mean Phase.<\/div>\n<\/div>\n<div><strong>range = [left right]<\/strong>\u00a0\u00a0 range in Hz for plotting spectra stack<\/div>\n<div><strong>Dy<\/strong>\u00a0 y-spacing between spectra in the stack<br \/>\n<strong>PH_v\u00a0 <\/strong>central frequency for autoPH_SPC<br \/>\n<strong>LIM = [left right] <\/strong> integration limits for T1, T2, &#8230; analysis<\/div>\n<div><strong>CUT\u00a0 <\/strong>lower value for weighted SHL linear fit<\/div>\n<h4>Spectrum parameters<\/h4>\n<div><\/div>\n<div><strong>REF \u00a0<\/strong> reference frequency in MHz<br \/>\n<strong>isPPM = true\/false<\/strong>\u00a0\u00a0 convert to ppm<br \/>\n<strong>ppmRange = [left right]<br \/>\n<\/strong><strong>nParams = [-left right ampl]\u00a0 <\/strong>range and amplitude parameters<br \/>\nrange = [nParams(1) nParams(2)]\u00a0\u00a0 (ppm or kHz)<\/div>\n<p><strong>NORM<\/strong> Normalization<br \/>\n0: multiply spectrum with nParams(3)<br \/>\n1: divide spectrum by maximal value and multiply it with nParams(3)<br \/>\n2: divide spectrum by maximal value within the range and multiply it with nParams(3)<br \/>\n3: divide spectrum by area within the range and multiply it with nParams(3)<br \/>\n4: multiply spectrum with temperature and nParams(3)<br \/>\notherwise: multiply spectrum with 1<\/p>\n<p><strong>spcSumInd = [1:5]<\/strong>\u00a0\u00a0 sum spectra at ordered indeces specified in vector<br \/>\n<strong>CUT2<\/strong>\u00a0 cutoff for moment analysis<\/p>\n<h4>Fitting parameters<\/h4>\n<p><strong>SIMtype = &#8216;T1-1mS&#8217; \u00a0<\/strong> fitting function, see available functions by pressing <em>SIMtype<\/em> button<br \/>\n<strong>Niter<\/strong>\u00a0\u00a0 number of iterations<br \/>\n<strong>indFIT<\/strong> =\u00a0[1]\u00a0 define vector of limits for fitting. If LIM has more raws indFIT vector can choose which to fit<br \/>\n<strong>allinitpar<\/strong> vector of initial parameters. By pressing <em>CP<\/em> button, allinitpar are substituted by the latest fitting results<br \/>\n<strong>allresetpar<\/strong> vector of reset parameters. By pressing <em>RP<\/em> button, allinitpar is substituted by allresetpar<br \/>\n<strong>indFitpar<\/strong>\u00a0 vector of parameter indeces to fit. Parameters with indeces not listed here are kept fix.<br \/>\n<strong>Trun<\/strong> = {&#8216;[1\/T1\/T]ylog&#8217;, &#8216;delta&#8217;, &#8216;[alpha]&#8217;}\u00a0 special description of plotted parameters as a function of temperature at the end of <em>Run analysis<\/em>.<\/p>\n<h4>Sweep spectra parameters<\/h4>\n<p><strong>SUMdelta<\/strong>\u00a0 frequency step in MHz of summed spectrum<br \/>\n<strong>Fmin<\/strong>\u00a0 left cutoff in kHz in summed spectrum<br \/>\n<strong>Fmax<\/strong>\u00a0 right cutoff in kHz in summed spectrum<br \/>\n<strong>Lmin<\/strong>, <strong>Lmax<\/strong>\u00a0 left and right cutoff in kHz for each individual spectrum<\/p>\n<p>Weights (S) are calculated from Spectra between min(LIM) and max(LIM). After running Sweep, weights are calculated from Spectra between Lmin and Lmax.<\/p>\n<p>For more information or bug report please <a title=\"Contact Page\" href=\"https:\/\/antonpotocnik.com\/?page_id=83\">contact me<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>nmrAna is a Matlab-based tool for analysis of nuclear magnetic resonance (NMR) measurements. The program allows to analyse the entire series of measured spectra as a function of temperature and other parameters like Tau in case of spin-lattice time (T1) measurements. Authors Anton Poto\u010dnik (IJS, F5) Andra\u017e Krajnc (KI) Peter Jegli\u010d (IJS, F5) Toma\u017e Apih&hellip;<\/p>\n","protected":false},"author":1,"featured_media":321,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[18],"tags":[13,19],"class_list":["post-366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-nmr","tag-tools"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/antonpotocnik.com\/wp-content\/uploads\/2013\/07\/nmrAna1.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s3Hjcy-nmrana","_links":{"self":[{"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/posts\/366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366"}],"version-history":[{"count":22,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions"}],"predecessor-version":[{"id":721658,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions\/721658"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=\/wp\/v2\/media\/321"}],"wp:attachment":[{"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antonpotocnik.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}