Converter

This module defines the Converter class that converts functions in the same space

class pystog.converter.Converter[source]

The Converter class is used to convert between either different reciprocal space functions or different real space functions

Examples:
>>> import numpy
>>> from pystog import Converter
>>> converter = Converter()
>>> q, sq = numpy.loadtxt("my_sofq_file.txt",unpack=True)
>>> fq, dfq = converter.S_to_F(q, sq)
>>> r, gr = numpy.loadtxt("my_gofr_file.txt",unpack=True)
>>> kwargs = {'rho' : 1.0}
>>> gr_keen, dgr_keen = converter.g_to_GK(r, gr, **kwargs)
DCS_to_F(q, dcs, ddcs=None, **kwargs)[source]

Convert \frac{d \sigma}{d \Omega}(Q) to Q[S(Q)-1]

Parameters:
  • q (numpy.array or list) – Q-space vector
  • dcs (numpy.array or list) – \frac{d \sigma}{d \Omega}(Q) vector
  • ddcs (numpy.array or list) – uncertainty vector
Returns:

(Q[S(Q)-1] vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

DCS_to_FK(q, dcs, ddcs=None, **kwargs)[source]

Convert \frac{d \sigma}{d \Omega}(Q) to F(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq (numpy.array or list) – \frac{d \sigma}{d \Omega}(Q) vector
  • ddcs (numpy.array or list) – uncertainty vector
Returns:

(F(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

DCS_to_S(q, dcs, ddcs=None, **kwargs)[source]

Convert \frac{d \sigma}{d \Omega}(Q) to S(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • dcs (numpy.array or list) – \frac{d \sigma}{d \Omega}(Q) vector
  • ddcs (numpy.array or list) – uncertainty vector
Returns:

(S(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

FK_to_DCS(q, fq, dfq=None, **kwargs)[source]

Convert F(Q) to \frac{d \sigma}{d \Omega}(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq (numpy.array or list) – F(Q) vector
  • dfq (numpy.array or list) – uncertainty vector
Returns:

(\frac{d \sigma}{d \Omega}(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

FK_to_F(q, fq_keen, dfq_keen=None, **kwargs)[source]

Convert F(Q) to Q[S(Q)-1]

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq_keen (numpy.array or list) – F(Q) vector
  • dfq_keen (numpy.array or list) – uncertainty vector
Returns:

(Q[S(Q)-1] vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

FK_to_S(q, fq_keen, dfq_keen=None, **kwargs)[source]

Convert F(Q) to S(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq_keen (numpy.array or list) – F(Q) vector
  • dfq_keen (numpy.array or list) – uncertainty vector
Returns:

(S(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

F_to_DCS(q, fq, dfq=None, **kwargs)[source]

Converts from Q[S(Q)-1] to \frac{d \sigma}{d \Omega}(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq (numpy.array or list) – Q[S(Q)-1] vector
  • dfq (numpy.array or list) – uncertainty vector
Returns:

(\frac{d \sigma}{d \Omega}(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

F_to_FK(q, fq, dfq=None, **kwargs)[source]

Converts from Q[S(Q)-1] to F(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq (numpy.array or list) – Q[S(Q)-1] vector
  • dfq (numpy.array or list) – uncertainty vector
Returns:

(F(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

F_to_S(q, fq, dfq=None, **kwargs)[source]

Converts from Q[S(Q)-1] to S(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • fq (numpy.array or list) – Q[S(Q)-1] vector
  • dfq (numpy.array or list) – uncertainty vector
Returns:

(S(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

GK_to_G(r, gr, dgr=None, **kwargs)[source]

Convert G_{Keen Version}(r) to G_{PDFFIT}(r)

Parameters:
  • r (numpy.array or list) – r-space vector
  • gr (numpy.array or list) – G_{Keen Version}(r) vector
  • dgr (numpy.array or list) – uncertainty vector \Delta g(r)
Returns:

G_{PDFFIT}(r) vector, uncertainty vector

Return type:

(numpy.array, numpy.array)

GK_to_g(r, gr, dgr=None, **kwargs)[source]

Convert G_{Keen Version}(r) to g(r)

Parameters:
  • r (numpy.array or list) – r-space vector
  • gr (numpy.array or list) – G_{Keen Version}(r) vector
  • dgr (numpy.array or list) – uncertainty vector \Delta g(r)
Returns:

g(r) vector, uncertainty vector

Return type:

(numpy.array, numpy.array)

G_to_GK(r, gr, dgr=None, **kwargs)[source]

Convert G_{PDFFIT}(r) to G_{Keen Version}(r)

Parameters:
  • r (numpy.array or list) – r-space vector
  • gr (numpy.array or list) – G_{PDFFIT}(r) vector
  • dgr (numpy.array or list) – uncertainty vector \Delta g(r)
Returns:

G_{Keen Version}(r) vector, uncertainty vector

Return type:

(numpy.array, numpy.array)

G_to_g(r, gr, dgr=None, **kwargs)[source]

Convert G_{PDFFIT}(r) to g(r)

Parameters:
  • r (numpy.array or list) – r-space vector
  • gr (numpy.array or list) – G_{PDFFIT}(r) vector
  • dgr (numpy.array or list) – uncertainty vector \Delta g(r)
Returns:

g(r) vector, uncertainty vector

Return type:

(numpy.array, numpy.array)

S_to_DCS(q, sq, dsq=None, **kwargs)[source]

Convert S(Q) to \frac{d \sigma}{d \Omega}(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • sq (numpy.array or list) – S(Q) vector
  • dsq (numpy.array or list) – uncertainty vector
Returns:

(\frac{d \sigma}{d \Omega}(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

S_to_F(q, sq, dsq=None, **kwargs)[source]

Convert S(Q) to Q[S(Q)-1]

Parameters:
  • q (numpy.array or list) – Q-space vector
  • sq (numpy.array or list) – S(Q) vector
  • dfq (numpy.array or list) – uncertainty vector
  • dsq (numpy.array or list) – uncertainty vector
Returns:

(Q[S(Q)-1] vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

S_to_FK(q, sq, dsq=None, **kwargs)[source]

Convert S(Q) to F(Q)

Parameters:
  • q (numpy.array or list) – Q-space vector
  • sq (numpy.array or list) – S(Q) vector
  • dsq (numpy.array or list) – uncertainty vector
Returns:

(F(Q) vector, uncertainty vector)

Return type:

(numpy.array, numpy.array)

g_to_G(r, gr, dgr=None, **kwargs)[source]

Convert g(r) to G_{PDFFIT}(r)

Parameters:
  • r (numpy.array or list) – r-space vector
  • gr (numpy.array or list) – g(r) vector
  • dgr (numpy.array or list) – uncertainty vector \Delta g(r)
Returns:

G_{PDFFIT}(r) vector, uncertainty vector

Return type:

(numpy.array, numpy.array)

g_to_GK(r, gr, dgr=None, **kwargs)[source]

Convert g(r) to G_{Keen Version}(r)

Parameters:
  • r (numpy.array or list) – r-space vector
  • gr (numpy.array or list) – g(r) vector
  • dgr (numpy.array or list) – uncertainty vector \Delta g(r)
Returns:

G_{Keen Version}(r) vector, uncertainty vector

Return type:

(numpy.array, numpy.array)