Study

class Study(*args)

Study.

Available constructors:

Study()

Study(fileName, compressionLevel)

Parameters
fileNamestr

Name of the file used by the underlying storage manager, a XMLStorageManager in this case.

compressionLevelint

Compression level of the resulting XML file, in the range 0,…,9 (0=no compression, 9=best compression). The compression is done only if the XML lib has been compiled with zlib support. The default value is given by ‘XMLStorageManager-DefaultCompressionLevel’ in ResourceMap.

Notes

The study allows the user to save all its data to a structure looking like a map. The data are copied verbatim to the study. This is not a link, so future modification of the original won’t affect the data saved in the study. To update the data saved in the study, the user has to explicitely save it again. Study allows the user to retrieve previously saved objects either by their name if a name was defined for the object or by their Id.

Examples

>>> import openturns as ot

Create a Study object:

>>> myStudy = ot.Study()
>>> myStudy.setStorageManager(ot.XMLStorageManager('myStudy.xml'))
>>> myStudy2 = ot.Study('myStudy2.xml')
>>> myStudy3 = ot.Study('myStudy2.xml.gz', 5)

Add PersistentObjects to the study:

>>> # a Point:
>>> point = ot.Point(3, 0.0)
>>> point[0] = 10.0
>>> point[1] = 11.0
>>> point[2] = 12.0
>>> myStudy.add('point', point)
>>> # a simulation result:
>>> simulationResult = ot.ProbabilitySimulationResult(ot.ThresholdEvent(), 0.5, 0.01, 150, 4)
>>> myStudy.add('simulationResult', simulationResult)

Get objects from the study:

>>> print(myStudy.getObject('point'))
[10,11,12]

Save the Study:

>>> myStudy.save()

Create a new Study object:

>>> myStudy = ot.Study()
>>> myStudy.setStorageManager(ot.XMLStorageManager('myStudy.xml'))

Load data from the study:

>>> myStudy.load()

Create data from the ones stored in the study:

>>> # a Point:
>>> otherPoint = ot.Point()
>>> myStudy.fillObject('point', otherPoint)
>>> # a simulation result:
>>> otherSimulationResult = ot.ProbabilitySimulationResult()
>>> myStudy.fillObject('simulationResult', otherSimulationResult)

Get information from the study:

>>> myStudy.printLabels()
'point;simulationResult'

Remove data:

>>> myStudy.hasObject('simulationResult')
True
>>> myStudy.remove('simulationResult')
>>> myStudy.hasObject('simulationResult')
False

Methods

add(self, \*args)

Add an object to the study.

fillObject(self, \*args)

Fill an object with one got from study.

fillObjectByName(self, \*args)

Fill an object with one got from study.

getClassName(self)

Accessor to the object’s name.

getObject(self, \*args)

Get object from the study.

getStorageManager(self)

Get the storage manager used by the study.

hasObject(self, \*args)

Query if object is stored in study.

load(self)

Reload the study from the storage manager.

printLabels(self)

Print all the names of the objects stored in the study.

remove(self, \*args)

Remove an object from the study.

save(self)

Save the study through the storage manager.

setStorageManager(self, smgr)

Set the storage manager used by the study.

__init__(self, \*args)

Initialize self. See help(type(self)) for accurate signature.

add(self, \*args)

Add an object to the study.

Available usages

add(object)

add(name, object, force=False)

Parameters
objectInterfaceObject, PersistentObject

Object to add in the study.

namestr

Name to associate with the object.

forcebool

If force=True and name is already defined in the study, the previous object associated with this name is removed. A error message is emitted otherwise.

fillObject(self, \*args)

Fill an object with one got from study.

Available usages

fillObject(name, object)

fillObject(id, object)

Parameters
objectInterfaceObject, PersistentObject

An object to be refilled (may be empty, i.e. default constructed).

namestr

Name of the object stored in the study.

idint

Internal identifier of the object stored in the study.

fillObjectByName(self, \*args)

Fill an object with one got from study.

Available usages

fillObjectByName(object, name)

fillObjectByName(id, object)

Parameters
objectInterfaceObject, PersistentObject

An object to be refilled (may be empty, i.e. default constructed).

namestr

Name of the object stored in the study.

idint

Internal identifier of the object stored in the study.

getClassName(self)

Accessor to the object’s name.

Returns
class_namestr

The object class name (object.__class__.__name__).

getObject(self, \*args)

Get object from the study.

Available usages

getObject(id)

getObject(name)

Parameters
namestr

Name of the object stored in the study.

idint

Internal identifier of the object stored in the study.

Returns
objectPersistentObject

The object saved in the study.

getStorageManager(self)

Get the storage manager used by the study.

Parameters
managerStorageManager

Storage manager used by the study to save and reload data.

hasObject(self, \*args)

Query if object is stored in study.

Available usages

hasObject(id)

hasObject(name)

Parameters
namestr

Name of the object stored in the study.

idint

Internal identifier of the object stored in the study.

Returns
hasObjectbool

True if the object is stored in the study.

load(self)

Reload the study from the storage manager.

printLabels(self)

Print all the names of the objects stored in the study.

Returns
namesstr

Names of the objects stored in the study.

remove(self, \*args)

Remove an object from the study.

Available usages

remove(object)

remove(name)

Parameters
objectInterfaceObject

An object to be removed.

namestr

Name of the object to be removed.

save(self)

Save the study through the storage manager.

setStorageManager(self, smgr)

Set the storage manager used by the study.

Returns
managerStorageManager

Storage manager used by the study to save and reload data.