Skip to content

old_xfcapi Conversion Guide

Zack edited this page Feb 13, 2026 · 4 revisions

NOTE: any arguments that are not listed are assumed to be unchanged (same name, same type).

anglesToGVec

Changes:

  • Function name: anglesToGVec -> angles_to_gvec
  • Argument name: bHat_l -> beam_vec
  • Argument name: eHat_l -> eta_vec
  • Argument name: rMat_c -> rmat_c

Before:

from hexrd.core.transforms.xfcapi import anglesToGVec

...

anglesToGVec(angs, bHat_l=self.bvec, eHat_l=self.etavec, chi=0, rMat_c=rMat_c)

After:

from hexrd.core.transforms.xfcapi import angles_to_gvec

...

angles_to_gvec(angs, beam_vec=self.bvec, eta_vec=self.etavec, chi=0, rmat_c=rmat_c)

anglesToDVec

Changes:

  • Function name: anglesToDVec -> angles_to_dvec
  • Argument name: bHat_l -> beam_vec
  • Argument name: eHat_l -> eta_vec
  • Argument name: rMat_c -> rmat_c

Before:

from hexrd.core.transforms.xfcapi import anglesToDVec

...

anglesToDVec(angs, bHat_l=self.bvec, eHat_l=self.etavec, chi=0, rMat_c=rMat_c)

After:

from hexrd.core.transforms.xfcapi import angles_to_dvec

...

angles_to_dvec(angs, beam_vec=self.bvec, eta_vec=self.etavec, chi=0, rmat_c=rmat_c)

detectorXYToGvec

Changes:

  • Function name: detectorXYToGvec -> xy_to_gvec
  • Argument name: xy_d -> xy_det
  • Argument name: rMat_d -> rmat_d
  • Argument name: rMat_s -> rmat_s
  • Argument name: tVec_d -> tvec_d
  • Argument name: tVec_s -> tvec_s
  • Argument name: tVec_c -> tvec_c
  • Removed argument: beamVec
  • Removed argument: etaVec
  • New argument: rmat_b
    • (3, 3) COB matrix taking components in the BEAM FRAME to the LAB FRAME. Defaults to None, which implies the standard setting of identity.
  • Argument ordering:
    • Old:
      detectorXYToGvec(xy_det, rMat_d, rMat_s, tVec_d, tVec_s, tVec_c, distortion, beamVec, etaVec, output_ref)
    • New:
      xy_to_gvec(xy_d, rmat_d, rmat_s, tvec_d, tvec_s, tvec_c, rmat_b, distortion, output_ref)

Before:

from hexrd.core.transforms.xfcapi import detectorXYToGvec

...

detectorXYToGvec(xy_det, rMat_d, rMat_s, tVec_d, tVec_s, tVec_c, distortion, beamVec, etaVec, output_ref)

After:

from hexrd.core.transforms.xfcapi import make_beam_rmat, xy_to_gvec

...

rmat_b = make_beam_rmat(beamVec, etaVec)
xy_to_gvec(xy_d, rmat_d, rmat_s, tvec_d, tvec_s, tvec_c, rmat_b, distortion, output_ref)

gvecToDetectorXY

Changes:

  • Function name: gvecToDetectorXY -> gvec_to_xy
  • Argument name: gVec_c -> gvec_c
  • Argument name: rMat_d -> rmat_d
  • Argument name: rMat_s -> rmat_s
  • Argument name: rMat_c -> rmat_c
  • Argument name: tVec_d -> tvec_d
  • Argument name: tVec_s -> tvec_s
  • Argument name: tVec_c -> tvec_c
  • Argument name: beamVec -> beam_vec

Before:

from hexrd.core.transforms.xfcapi import gvecToDetectorXY

...

gvecToDetectorXY(gVec_c, rMat_d, rMat_s, rMat_c, tVec_d, tVec_s, tVec_c, beamVec)

After:

from hexrd.core.transforms.xfcapi import gvec_to_xy

...

xy_to_gvec(gvec_c, rmat_d, rmat_s, rmat_c, tvec_d, tvec_s, tvec_c, beam_vec)

gvecToDetectorXYArray

Note: This function is replaced with gvec_to_xy. That is not a mistake - this new function is meant to accept either a single XY or an array of XYs.

Changes:

  • Function name: gvecToDetectorXYArray -> gvec_to_xy
  • Argument name: gVec_c -> gvec_c
  • Argument name: rMat_d -> rmat_d
  • Argument name: rMat_s -> rmat_s
  • Argument name: rMat_c -> rmat_c
  • Argument name: tVec_d -> tvec_d
  • Argument name: tVec_s -> tvec_s
  • Argument name: tVec_c -> tvec_c
  • Argument name: beamVec -> beam_vec

Before:

from hexrd.core.transforms.xfcapi import gvecToDetectorXYArray

...

gvecToDetectorXYArray(gVec_c, rMat_d, rMat_s, rMat_c, tVec_d, tVec_s, tVec_c, beamVec)

After:

from hexrd.core.transforms.xfcapi import gvec_to_xy

...

xy_to_gvec(gvec_c, rmat_d, rmat_s, rmat_c, tvec_d, tvec_s, tvec_c, beam_vec)

oscillAnglesOfHKLs

Changes:

  • Function name: oscillAnglesOfHKLs -> oscill_angles_of_hkls
  • Argument name: rMat_c -> rmat_c
  • Argument name: bMat -> bmat
  • Argument name: vInv -> v_inv
  • Argument name: beamVec -> beam_vec
  • Argument name: etaVec -> eta_vec

Before:

from hexrd.core.transforms.xfcapi import oscillAnglesOfHKLs

...

oscillAnglesOfHKLs(hkls, chi, rMat_c, bMat, wavelength, vInv, beamVec, etaVec)

After:

from hexrd.core.transforms.xfcapi import oscill_angles_of_hkls

...

oscill_angles_of_hkls(hkls, chi, rmat_c, bmat, wavelength, v_inv, beam_vec, eta_vec)

angularDifference

Changes:

  • Function import
    • Before: from hexrd.core.transforms.xfcapi import angularDifference
    • After: from hexrd.core.rotations import angularDifference

Before:

from hexrd.core.transforms.xfcapi import angularDifference

...

angularDifference([1, 2, 3], [4, 5, 6])

After:

from hexrd.core.rotations import angularDifference

...

angularDifference([1, 2, 3], [4, 5, 6])

makeDetectorRotMat

Changes:

  • Function name: makeDetectorRotMat -> make_detector_rmat
  • Argument name: tiltAngles -> tilt_angles

Before:

from hexrd.core.transforms.xfcapi import makeDetectorRotMat

...

makeDetectorRotMat([1, 2, 3])

After:

from hexrd.core.transforms.xfcapi import make_detector_rmat

...

make_detector_rmat([1, 2, 3])

makeEtaFrameRotMat

Changes:

  • Function name: makeEtaFrameRotMat -> make_beam_rmat
  • Argument name: bHat_l -> bvec_l
  • Argument name: eHat_l -> evec_l

Before:

from hexrd.core.transforms.xfcapi import makeEtaFrameRotMat

...

makeEtaFrameRotMat(bHat_l, eHat_l)

After:

from hexrd.core.transforms.xfcapi import make_beam_rmat

...

make_beam_rmat(bvec_l, evec_l)

makeOscillRotMat

Changes:

  • Function name: makeOscillRotMat -> make_sample_rmat
  • Removed argument: oscillAngles
  • New argument: chi
  • New argument: ome

Before:

from hexrd.core.transforms.xfcapi import makeOscillRotMat

...

makeOscillRotMat([1, 2])

After:

from hexrd.core.transforms.xfcapi import make_sample_rmat

...

makeOscillRotMat(1, 2)

makeOscillRotMatArray

Note: This function is replaced with make_sample_rmat. That is not a mistake - this new function is meant to accept either a single [chi, ome] pair or an array of pairs.

Changes:

  • Function name: makeOscillRotMatArray -> make_sample_rmat
  • Argument name: omeArray -> ome

Before:

from hexrd.core.transforms.xfcapi import makeOscillRotMatArray

...

makeOscillRotMatArray(1, [2, 3, 4])

After:

from hexrd.core.transforms.xfcapi import make_sample_rmat

...

make_sample_rmat(1, [2, 3, 4])

makeRotMatOfExpMap

Changes:

  • Function name: makeRotMatOfExpMap -> make_rmat_of_expmap
  • Argument name: expMap -> exp_map

Before:

from hexrd.core.transforms.xfcapi import makeRotMatOfExpMap

...

makeRotMatOfExpMap(expMap)

After:

from hexrd.core.transforms.xfcapi import make_rmat_of_expmap

...

make_rmat_of_expmap(exp_map)

makeRotMatOfQuat

Changes:

  • Removed function entirely. Use scipy instead.

Before:

from hexrd.core.transforms.xfcapi import makeRotMatOfQuat

...

makeRotMatOfQuat(quats)

After:

from scipy.spatial.transform import Rotation

...

# The [1, 2, 3, 0] argument is to re-order due to our quaternions being scalar-first
rotation_matrix = Rotation.from_quat(quats[:, [1, 2, 3, 0]]).as_matrix()

mapAngle

Changes:

  • Moved function to rotations

Before:

from hexrd.core.transforms.xfcapi import mapAngle

After:

from hexrd.core.rotations import mapAngle

rowNorm

Changes:

  • Moved function to matrixutil

Before:

from hexrd.core.transforms.xfcapi import rowNorm

After:

from hexrd.core.matrixutil import rowNorm

unitRowVector

Changes:

  • Function name: unitRowVector -> unit_vector
  • Argument name: vecIn -> vec_in

Before:

from hexrd.core.transforms.xfcapi import unitRowVector

...

unitRowVector(vecIn)

After:

from hexrd.core.transforms.xfcapi import unit_vector

...

unit_vector(vec_in)

bVec_ref

Changes:

  • Moved to constants.beam_vec

Before:

from hexrd.core.transforms.xfcapi import bVec_ref

After:

from hexrd.core.constants import beam_vec

eta_ref

Changes:

  • Moved to constants.eta_ref

Before:

from hexrd.core.transforms.xfcapi import eta_ref

After:

from hexrd.core.constants import eta_ref

Xl

Changes:

  • Moved to constants.lab_x

Before:

from hexrd.core.transforms.xfcapi import Xl

After:

from hexrd.core.constants import lab_x

Yl

Changes:

  • Moved to constants.lab_y

Before:

from hexrd.core.transforms.xfcapi import Yl

After:

from hexrd.core.constants import lab_y

Clone this wiki locally