How to understand the normalized S(Q) curve while using pdfgetter commend for ransformSQnormRPoly.

182 views
Skip to first unread message

onetooth302

unread,
Aug 28, 2018, 4:03:19 PM8/28/18
to diffpy-users
Hi,

I am a new user of pdfgetx3 and I am trying to do PDF analysis on CoO which is deposited on kepton film and PDF data was collected by using Ag x-ray source while the sample was spinning in a capillary. And background signal was collected by using the same sample holder configuration except for CoO.

While I am trying to subtract the background from the PDF data through pdfgetx3, I could see that the Normalize S(Q) fitting curve is changing quite a lot while I am changing the background scale. 
The last picture (3-corrected) I attached here is the result of the normalized S(Q) curve with the best background position that doesn't exceed the sample containing PDF data.
As the very small amount of CoO is loaded in the capillary, I am confusing that which fitting is correct to use for PDFgui refinement. 

Could you please tell me how do I have to understand about the normalized fitting curves and what each line indicate for? 
Thanks. 

Sincerely, 
SeYoung


1-corrected.jpeg
2-corrected.jpeg
3-corrected.jpeg

Simon Billinge

unread,
Aug 29, 2018, 8:36:47 AM8/29/18
to diffpy...@googlegroups.com
Hi SeYoung,

It would be helpful if you could tell us what is plotted in each figure.
--
You received this message because you are subscribed to the Google Groups "diffpy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diffpy-users...@googlegroups.com.
To post to this group, send email to diffpy...@googlegroups.com.
Visit this group at https://groups.google.com/group/diffpy-users.
For more options, visit https://groups.google.com/d/optout.

Onetooth302

unread,
Aug 29, 2018, 11:22:41 AM8/29/18
to diffpy-users
Hi Prof. Simon Billinge,

Thank you very much for the reply. I love to do PDF and thank you for your huge devotion on this field. 

If I explain about the graphs In the first post, the graph on the top in each figure shows the normalize S(Q) by fitting a polynomial. I followed the tutorial and could get those graph by applying "tuneconfig([t4, 'gr'])" commend. 

And please see other figures I attach here. They are matching with each figure in the first post by their numbering. Here, the top graph shows the measured xrd intensity of the blank sample (kepton film + glass capillary, green dash line) and CoO loaded sample (blue solid line). The red line is the intensity difference between those two samples. 

Figure 1 :  "bg scale 1" - the result of XRD intensity and G(A) graph before I change the background scale.
Figure 2 : "2  -bg scale 1.43" - the result of XRD intensity and G(A) graph after I change the background scale to 1.43.
Figure 3: "3 - bg scale 1.51" -  the result of XRD intensity and G(A) graph after I change the background scale to 1.51.

As you can see, when the bg scale is changed to 1.43, the normalize S(Q) graph looks unstable and fluctuating. (please see the figure '2-corrected.jpeg' in the first post)
However, at the bg scale 1.51, the normalize S(Q) graph shows a linear line of blue dots and the peak intensity of G(A) graph decreased a lot. (please see the figure '3-corrected.jpeg' in the first post)
Under bg scale 1.51, the bg intensity slightly over the intensity of sample loaded capillary at low 2 theta value (< ~ 5) but not at high 2 theta angle (> ~ 5)

I am trying to choose the best G(A) curves to use it for simulating PDF of CoO through PDFGui, I could see that ripples under r < ~ 6 is fluctuating while the background scale is changing. 

So, 
1. I am wondering, generally, why the G(A) intensity decreased with a bg scale = 1.51 and which bg scale is the best for fitting the PDF.
2. In addition, how do I have to understand the shapes of lines in 'Normalize S(Q) by fitting a polynomial' in my first post. Because there is no legend of lines shown in the graph. 
 
Thank you very much in advance.

Sincerely yours,
SeYoung Kim
1 -bg scale 1.jpeg
2 -bg scale 1.43.jpeg
3 - bg scale 1.51.jpeg

Pavol Juhas

unread,
Aug 29, 2018, 6:55:41 PM8/29/18
to diffpy...@googlegroups.com
On Wed, Aug 29, 2018 at 08:22:41AM -0700, Onetooth302 wrote:
...
> If I explain about the graphs In the first post, the graph on the top in
> each figure shows the normalize S(Q) by fitting a polynomial. I followed
> the tutorial and could get those graph by applying "tuneconfig([t4,
> 'gr'])" commend.

Hi SeYoung,

You can display the legend for the normalized S(Q) plot as follows:

fig, ax = subplots(2)
tuneconfig([t4, 'gr'], axeslist=ax)
ax[0].legend()

The "normalize S(Q)" step performs polynomial fit which is done
for the F(Q) curve. In your "2-corrected" figure the blue line
is the raw F(Q), purple the polynomial fit and the black line is
their difference and the adjusted F(Q). The low-amplitude lines
are the initial S(Q) and the normalized S(Q) which is back-converted
from the adjusted F(Q).

...
> As you can see, when the bg scale is changed to* 1.43*, the normalize S(Q)
> graph looks unstable and fluctuating. (please see the figure '
> *2-corrected.jpeg*' in the first post)

The primary issue is that the sample and background intensities
are very close to each other. The increased "fluctuation" happens
because in step 3 the S(Q) is rescaled to the order of
<f(Q)^2> / <f(Q)>^2. When background-subtracted signal is
close to zero, the scaling factor has to be quite large
amplifying the high-Q noise. I suspect this is mostly a scaling
issue and the fluctuations in the black F(Q) lines would look
similar in the 1-corrected and 3-corrected plots if zoomed
along the y-axis.

The overall scale in F(Q) and G(r) data is not critical for their
physical meaning, but you want to make sure that the kapton signal
is filtered out from the F and G curves. I'd suggest to also
display S(Q) and F(Q) in tuneconfig and use the
"constant data scale" checkbox. At the right scale the
kapton-related features in F(Q) and S(Q) should be smaller,
but they would appear back for smaller and larger bgscale value.

fig, ax = subplots(2, 2)
tuneconfig([t4, 'sq', 'gr', 'fq'], axeslist=ax.flatten())

Hope this helps,

Pavol

--
Dr. Pavol Juhas
Computational Science Initiative
Brookhaven National Laboratory
P.O. Box 5000
Upton, NY 11973-5000

Onetooth302

unread,
Aug 30, 2018, 9:19:00 PM8/30/18
to diffpy-users
Thank you very much Dr. Pavol Juhas.
I really appreciate your kind reply and all your comments are a lot helpful. 
I would like to use pdfgetx3 for further PDF research to investigate phase transition of materials. 
May I ask if you have updated manuals of pdfgetx3 which is containing more instructions and commends that users can employ?
It is really frustrating that I missed the registration period for PDF school in BNL. 
Thank you again.  

Sincerely yours,
SeYoung

Pavol Juhas

unread,
Sep 4, 2018, 11:54:52 AM9/4/18
to diffpy-users
On Thu, Aug 30, 2018 at 06:19:00PM -0700, Onetooth302 wrote:
> Thank you very much Dr. Pavol Juhas.
> I really appreciate your kind reply and all your comments are a lot
> helpful.
> I would like to use pdfgetx3 for further PDF research to investigate phase
> transition of materials.
> May I ask if you have updated manuals of pdfgetx3 which is containing more
> instructions and commends that users can employ?

Hi SeYoung,

I am finishing a next release of PDFgetX3, which will have slightly
expanded manual. For now (you'd need some familiarity with Python)
the best approach is to explore inline code documentation using

help(pdfgetter)
help(config)

within interactive session. You can also explore package documentation
using the pydoc command, for example

pydoc diffpy.pdfgetx.pdfconfig
pydoc diffpy.pdfgetx.pdfgetter
Reply all
Reply to author
Forward
0 new messages