Publication Quality Plots using Liveplot in EXPGUI

Following an update to Liveplot in EXPGUI by Brian Toby, you can now simply produce publication quality plots, with a Yobs, YCalc, Diff, Background, and reflection markers for each phase. The background output includes all objects in the background.

For problems with this, please ask on the forum of this site, rather than contacting Brian Toby.

For this to work with TOPAS, output of various parts of information must be combined in one file:

  • X, D, Observed, Calculated, Y_error
  • H, K, L, M, D, X, Phase_number
  • X, D, Background

Currently, The background has to be appended to the end of the file as it can not be output at the same time as the calculated pattern.

Two macros should be saved to the local.inc file:

macro OUT_Ycalc_and_Ticks(file)
   {
    xdd_out file load out_record out_fmt out_eqn
       {
           " %11.5f  " = X;
           " %11.5f  " = 0.5 Lam / Sin(X Pi/360);
           " %11.5f  " = Yobs;
           " %11.5f  " = Ycalc;
           " %11.5f\n" = SigmaYobs;
      }
 
      out file append
      Out_String("\tHKL reflection markers:\n")
 
      for strs {
        phase_out file append load out_record out_fmt out_eqn
        {
           " %3.0f" = H;
           " %3.0f" = K;
           " %3.0f" = L;
           " %3.0f" = M;
           " %11.5f"   = D_spacing;
           " %11.5f"   = 2 Rad Th;
           " %11.5f\n"   = phase_number;
        }
      }
   } 

and

macro OUT_BKG_Fit_Objs(file)
{
        iters 0
      out "liveplot_output.ascii" append
      Out_String("\tBackground fit:\n")
 
    xdd_out file append load out_record out_fmt out_eqn
       {
           " %11.5f  " = X;
           " %11.5f  " = 0.5 Lam / Sin(X Pi/360);
           " %11.5f\n" = Ycalc;
      }
   }

The following structure must be used in the relevant inp file to achieve the desired output:

/*
Normally have the "#define OUT_Ycalc_and_Ticks_" definition activated.
To output information (once happy with refinement),
          1. Uncomment the "#define OUT_PUT_RUN_" definition
          2. Run refinement - this will output X, D, Yobs, Ycalc, and sigYobs, as well as h, k, l, m, D,  X, and phase number.
          3. Comment out "#define OUT_Ycalc_and_Ticks_" and uncomment "'#define OUT_BKG_Fit_Objs_" definitions
          4. Run refinement - this will do zero iterations and append your calculated background to the previous file.
*/
 
'#define OUT_PUT_RUN_                      ' Comment out if no output required
#define OUT_Ycalc_and_Ticks_               ' Normally active
'#define OUT_BKG_Fit_Objs_                 ' Comment previous line, and uncomment here for background
 
xdd yourdata.xye
 
...
...
fit_obj
...
...
 
 
#ifdef OUT_Ycalc_and_Ticks_                ' This line must be added before the first str section.
 
str
...
local !phase_number 1                      ' define for each str section
...
 
str
...
local !phase_number 2                      ' define for each str section
...
 
/*
The following should be placed at the end of all your str parts.
There is no need to edit them.
*/
 
          #ifdef OUT_PUT_RUN_
                    OUT_Ycalc_and_Ticks(liveplot_output.ascii)
          #endif
          #else
          #ifdef OUT_BKG_Fit_Objs_
                    #ifdef OUT_PUT_RUN_
                    OUT_BKG_Fit_Objs(liveplot_output.ascii)
                    #endif
          #endif
#endif

The final output file should look something like this:

     5.20000       3.90334    1217.65630    1183.48083      18.30609
     5.20400       3.90034    1220.92890    1181.44247      18.23107
     5.20800       3.89734    1214.75860    1179.40464      18.27184
     ...
     ...
     ...
    29.99200       0.68431     234.54687     245.84482      11.28108
    29.99600       0.68422     264.23144     246.44503      11.88096
    30.00000       0.68413     245.36497     247.07693      12.07137
	HKL reflection markers:
   0   0   2   2     4.18267     4.85251     1.00000
   0   1   1   8     3.51523     5.77458     1.00000
   0   1   2   8     2.84214     7.14376     1.00000
   ...
   ...
   ...
   3   3   8   8     0.68777    29.83760     1.00000
   0   1  12   8     0.68609    29.91244     1.00000
   4   4   0   4     0.68481    29.96987     1.00000
   1   1   1   8     3.14438     6.45631     2.00000
   0   0   2   6     2.72312     7.45643     2.00000
   0   2   2  12     1.92553    10.55245     2.00000
   ...
   ...
   ...
	Background fit:
     5.20000       3.90334    1182.94026
     5.20400       3.90034    1180.89776
     5.20800       3.89734    1178.85567
     ...
     ...
     ...
    29.99200       0.68431     236.74789
    29.99600       0.68422     236.78480
    30.00000       0.68413     236.82286

Personal Tools