Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/examples/npintensity.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@

Extensions

- The IntensityGenerator class uses the 'addParameterSet' method to associate
- The IntensityGenerator class uses the 'add_parameter_set' method to associate
the structure adapter (DiffpyStructureParSet) with the generator. Most SrFit
classes have an 'addParameterSet' class and can store ParameterSet objects.
classes have an 'add_parameter_set' class and can store ParameterSet objects.
Grab the phase object from the IntensityGenerator and try to add it to other
objects used in the fit recipe. Create variables from the moved Parameters
rather than from the 'phase' that lives in the IntensityGenerator and see if
Expand Down Expand Up @@ -153,7 +153,7 @@ def setStructure(self, strufile):
parset = DiffpyStructureParSet("phase", stru)

# Put this ParameterSet in the ProfileGenerator.
self.addParameterSet(parset)
self.add_parameter_set(parset)

return

Expand Down
5 changes: 3 additions & 2 deletions docs/examples/npintensityII.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def makeRecipe(strufile, datname1, datname2):
generator1 = IntensityGenerator("I")
generator1.setStructure(strufile)
generator2 = IntensityGenerator("I")
generator2.addParameterSet(generator1.phase)
generator2.add_parameter_set(generator1.phase)

# The FitContributions
# Create the FitContributions.
Expand All @@ -99,7 +99,8 @@ def makeRecipe(strufile, datname1, datname2):
# the same form and use the same Parameter names. By default, Parameters
# in different contributions are different Parameters even if they have the
# same names. FitContributions are isolated namespaces than only share
# information if you tell them to by using addParameter or addParameterSet.
# information if you tell them to by using addParameter or
# add_parameter_set.
bkgdstr = "b0 + b1*q + b2*q**2 + b3*q**3 + b4*q**4 + b5*q**5 + b6*q**6 +\
b7*q**7 +b8*q**8 + b9*q**9"

Expand Down
25 changes: 25 additions & 0 deletions news/addparameterset-dep.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
**Added:**

* Added ``add_parameter_set`` method to replace deprecated ``FitRecipe.addParameterSet``.
* Added ``add_parameter_set`` method to replace deprecated ``ParameterSet.addParameterSet``.

**Changed:**

* <news item>

**Deprecated:**

* Deprecated ``addParameterSet`` method in ``FitRecipe``.
* Deprecate ``addParameterSet`` method in ``ParameterSet``.

**Removed:**

* <news item>

**Fixed:**

* <news item>

**Security:**

* <news item>
16 changes: 15 additions & 1 deletion src/diffpy/srfit/fitbase/fitrecipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@
base, "setWeight", "set_weight", removal_version
)

addparset_dep_msg = build_deprecation_message(
base, "addParameterSet", "add_parameter_set", removal_version
)


class FitRecipe(_fitrecipe_interface, RecipeOrganizer):
"""FitRecipe class.
Expand Down Expand Up @@ -345,7 +349,7 @@ def setWeight(self, con, weight):
self.set_weight(con, weight)
return

def addParameterSet(self, parset):
def add_parameter_set(self, parset):
"""Add a ParameterSet to the hierarchy.

Attributes
Expand All @@ -361,6 +365,16 @@ def addParameterSet(self, parset):
self._add_object(parset, self._parsets, True)
return

@deprecated(addparset_dep_msg)
def addParameterSet(self, parset):
"""This function has been deprecated and will be removed in version
4.0.0.

Please use diffpy.srfit.fitbase.FitRecipe.add_parameter_set instead.
"""
self.add_parameter_set(parset)
return

def removeParameterSet(self, parset):
"""Remove a ParameterSet from the hierarchy.

Expand Down
22 changes: 21 additions & 1 deletion src/diffpy/srfit/fitbase/parameterset.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@
from collections import OrderedDict

from diffpy.srfit.fitbase.recipeorganizer import RecipeOrganizer
from diffpy.utils._deprecator import build_deprecation_message, deprecated

base = "diffpy.srfit.fitbase.parameterset.ParameterSet"
removal_version = "4.0.0"

addparset_dep_msg = build_deprecation_message(
base, "addParameterSet", "add_parameter_set", removal_version
)


class ParameterSet(RecipeOrganizer):
Expand Down Expand Up @@ -87,7 +95,7 @@ def __init__(self, name):
newParameter = RecipeOrganizer._new_parameter
removeParameter = RecipeOrganizer._remove_parameter

def addParameterSet(self, parset):
def add_parameter_set(self, parset):
"""Add a ParameterSet to the hierarchy.

Attributes
Expand All @@ -103,6 +111,18 @@ def addParameterSet(self, parset):
self._add_object(parset, self._parsets, True)
return

@deprecated(addparset_dep_msg)
def addParameterSet(self, parset):
"""This function has been deprecated and will be removed in version
4.0.0.

Please use
diffpy.srfit.fitbase.parameterset.ParameterSet.add_parameter_set
instead.
"""
self.add_parameter_set(parset)
return

def removeParameterSet(self, parset):
"""Remove a ParameterSet from the hierarchy.

Expand Down
2 changes: 1 addition & 1 deletion src/diffpy/srfit/pdf/basepdfgenerator.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ def setPhase(self, parset, periodic=True):
self.stru = self._phase.stru

# Put this ParameterSet in the ProfileGenerator.
self.addParameterSet(parset)
self.add_parameter_set(parset)

# Set periodicity
self._phase.useSymmetry(periodic)
Expand Down
4 changes: 2 additions & 2 deletions src/diffpy/srfit/structure/cctbxparset.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ def __init__(self, name, stru):
"""
ParameterSet.__init__(self, name)
self.stru = stru
self.addParameterSet(CCTBXUnitCellParSet(self))
self.add_parameter_set(CCTBXUnitCellParSet(self))
self.scatterers = []

self._update = False
Expand All @@ -249,7 +249,7 @@ def __init__(self, name, stru):
sname = "%s%i" % (el, i)
cdict[el] = i + 1
scatterer = CCTBXScattererParSet(sname, self, i)
self.addParameterSet(scatterer)
self.add_parameter_set(scatterer)
self.scatterers.append(scatterer)

# Constrain the lattice
Expand Down
4 changes: 2 additions & 2 deletions src/diffpy/srfit/structure/diffpyparset.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ def __init__(self, name, stru):
"""
SrRealParSet.__init__(self, name)
self.stru = stru
self.addParameterSet(DiffpyLatticeParSet(stru.lattice))
self.add_parameter_set(DiffpyLatticeParSet(stru.lattice))
self.atoms = []

cdict = {}
Expand All @@ -297,7 +297,7 @@ def __init__(self, name, stru):
aname = "%s%i" % (el, i)
cdict[el] = i + 1
atom = DiffpyAtomParSet(aname, a)
self.addParameterSet(atom)
self.add_parameter_set(atom)
self.atoms.append(atom)

return
Expand Down
4 changes: 2 additions & 2 deletions src/diffpy/srfit/structure/objcrystparset.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ def __init__(self, name, molecule, parent=None):

atom = ObjCrystMolAtomParSet(name, a, self)
atom.molecule = self
self.addParameterSet(atom)
self.add_parameter_set(atom)
self.atoms.append(atom)
anames.append(name)

Expand Down Expand Up @@ -1760,7 +1760,7 @@ def __init__(self, name, cryst):
else:
raise TypeError("Unrecognized scatterer '%s'" % cname)

self.addParameterSet(parset)
self.add_parameter_set(parset)
self.scatterers.append(parset)
snames.append(name)

Expand Down
25 changes: 23 additions & 2 deletions tests/test_parameterset.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,35 @@ def setUp(self):
return

def testAddParameterSet(self):
"""Test the addParameterSet method."""
"""Test the deprecated addParameterSet method.

Remove this test after the addParameterSet is removed in version
4.0.0.
"""
parset2 = ParameterSet("parset2")
p1 = Parameter("parset2", 1)

self.parset.addParameterSet(parset2)
self.assertTrue(self.parset.parset2 is parset2)

self.assertRaises(ValueError, self.parset.addParameterSet, p1)
self.assertRaises(ValueError, self.parset.add_parameter_set, p1)

p1.name = "p1"
parset2.addParameter(p1)

self.assertTrue(self.parset.parset2.p1 is p1)

return

def test_add_parameter_set(self):
"""Test the add_parameter_set method."""
parset2 = ParameterSet("parset2")
p1 = Parameter("parset2", 1)

self.parset.add_parameter_set(parset2)
self.assertTrue(self.parset.parset2 is parset2)

self.assertRaises(ValueError, self.parset.add_parameter_set, p1)

p1.name = "p1"
parset2.addParameter(p1)
Expand Down
Loading