soprano.properties.transform.transform#
Implementation of AtomsProperties that transform the instance in some way
Classes
| 
 | Returns an Atoms object with some or all the atoms reflected with either a given center or a given plane. | 
| 
 | Returns an Atoms object with some or all the atoms rotated by a given quaternion and with a given center. | 
| 
 | Returns an Atoms object with some or all the atoms translated by a given vector. | 
- class soprano.properties.transform.transform.Mirror(name=None, **params)[source]#
- Bases: - AtomsProperty- Returns an Atoms object with some or all the atoms reflected with either a given center or a given plane. Absolute or scaled coordinates may be used. Parameters:selection (AtomSelection): selection object defining which atoms toact on. By default, all of them.center ([float]*3): center around which the reflection should takeplace. By default the origin of the axes. Can’t bepresent at the same time as plane.plane ([float]*4): plane with respect to which the reflection shouldtake place, in the form [a, b, c, d] parameters ofthe plane equation.By default is not used. Can’t be present at thesame time as center.scaled (bool): if True, treat the input vector as expressed in scaled,not absolute, coordinates.Returns:reflected (ase.Atoms): Atoms object with the reflection performed.- Initialize an AtomsProperty and set its parameters. The AtomsProperty instance can then be called with a structure as its only argument to get the property with the given parameters. Args:name (str): a name to give to this specific instance of theproperty (will be used to store it as array ifrequested)params: named arguments specific to this type of property- __call__(s, store_array=False, selection=None)#
- Calling the AtomsProperty returns the value of the property as extracted with the parameters of this specific instance. Args:s (ase.Atoms or AtomsCollection): the structure or collectionfrom which to extract thepropertystore_array (bool): if s is a collection, whether to store theresulting data as an array in the collectionusing the given name for this instanceselection (str): a selection string to filter the atoms or AtomSelectionReturns:property: the value of the property for the given structure ora list of values if a collection has been passed
 - static extract(s, selection, **kwargs)[source]#
- Extract the given property with given parameters from an Atoms object. Args:s (ase.Atoms): the structure from which to extract the propertyparams: named arguments specific to this type of propertyReturns:property: the value of the property for the given structure andparameters
 - classmethod get(s, store_array=False, selection=None, **kwargs)#
- Extract the given property using the default parameters on an Atoms object s Args:s (ase.Atoms or AtomsCollection): the structure or collectionfrom which to extract thepropertystore_array (bool): if s is a collection, whether to store theresulting data as an array in the collectionusing the default name for this propertyselection (str): a selection string to filter the atoms or AtomSelectionReturns:property: the value of the property for the given structure ora list of values if a collection has been passed
 - mean(s, axis=None, weights=None, **kwargs)#
- Compute the mean of the property over a list of structures. - The default behaviours are: - For a list of scalars, compute the mean along the specified axis. - For a list of dictionaries, compute the mean for each key across all dictionaries. - For a list of NMRTensor objects, compute the mean using the NMRTensor.mean method. - For a list of arrays, convert to numpy array and then compute the mean along the specified axis. - Parameters:
- s (list[ase.Atoms] | AtomsCollection) – The structure or collection from which to extract the property. 
- axis (int | None) – Axis along which the means are computed. If None, compute the mean of scalars. 
- weights (np.ndarray | None) – An array of weights associated with the values. If specified, the weighted average will be computed. Must have the same shape as the property values. 
- **kwargs – Additional arguments passed to the property’s get method. 
 
- Returns:
- The mean value of the property for the given structures. 
- Return type:
- dict | float | np.ndarray | NMRTensor 
- Raises:
- ValueError – If s is not a collection/list, if property values are None, or if there’s an incompatible shape for computing the mean. 
- TypeError – If the property values are of a type that cannot be averaged. 
 
 
 
- class soprano.properties.transform.transform.Rotate(name=None, **params)[source]#
- Bases: - AtomsProperty- Returns an Atoms object with some or all the atoms rotated by a given quaternion and with a given center. Absolute or scaled coordinates may be used. Parameters:selection (AtomSelection): selection object defining which atoms toact on. By default, all of them.center ([float]*3): center around which the rotation should takeplace. By default the origin of the axes.quaternion (ase.quaternions.Quaternion): quaternion expressing therotation that should beapplied.scaled (bool): if True, treat the input vector as expressed in scaled,not absolute, coordinates.periodic (bool): if True, always rotate each atom around the minimumperiodic image of the rotation center.Returns:rotated (ase.Atoms): Atoms object with the rotation performed.- Initialize an AtomsProperty and set its parameters. The AtomsProperty instance can then be called with a structure as its only argument to get the property with the given parameters. Args:name (str): a name to give to this specific instance of theproperty (will be used to store it as array ifrequested)params: named arguments specific to this type of property- __call__(s, store_array=False, selection=None)#
- Calling the AtomsProperty returns the value of the property as extracted with the parameters of this specific instance. Args:s (ase.Atoms or AtomsCollection): the structure or collectionfrom which to extract thepropertystore_array (bool): if s is a collection, whether to store theresulting data as an array in the collectionusing the given name for this instanceselection (str): a selection string to filter the atoms or AtomSelectionReturns:property: the value of the property for the given structure ora list of values if a collection has been passed
 - static extract(s, selection, **kwargs)[source]#
- Extract the given property with given parameters from an Atoms object. Args:s (ase.Atoms): the structure from which to extract the propertyparams: named arguments specific to this type of propertyReturns:property: the value of the property for the given structure andparameters
 - classmethod get(s, store_array=False, selection=None, **kwargs)#
- Extract the given property using the default parameters on an Atoms object s Args:s (ase.Atoms or AtomsCollection): the structure or collectionfrom which to extract thepropertystore_array (bool): if s is a collection, whether to store theresulting data as an array in the collectionusing the default name for this propertyselection (str): a selection string to filter the atoms or AtomSelectionReturns:property: the value of the property for the given structure ora list of values if a collection has been passed
 - mean(s, axis=None, weights=None, **kwargs)#
- Compute the mean of the property over a list of structures. - The default behaviours are: - For a list of scalars, compute the mean along the specified axis. - For a list of dictionaries, compute the mean for each key across all dictionaries. - For a list of NMRTensor objects, compute the mean using the NMRTensor.mean method. - For a list of arrays, convert to numpy array and then compute the mean along the specified axis. - Parameters:
- s (list[ase.Atoms] | AtomsCollection) – The structure or collection from which to extract the property. 
- axis (int | None) – Axis along which the means are computed. If None, compute the mean of scalars. 
- weights (np.ndarray | None) – An array of weights associated with the values. If specified, the weighted average will be computed. Must have the same shape as the property values. 
- **kwargs – Additional arguments passed to the property’s get method. 
 
- Returns:
- The mean value of the property for the given structures. 
- Return type:
- dict | float | np.ndarray | NMRTensor 
- Raises:
- ValueError – If s is not a collection/list, if property values are None, or if there’s an incompatible shape for computing the mean. 
- TypeError – If the property values are of a type that cannot be averaged. 
 
 
 
- class soprano.properties.transform.transform.Translate(name=None, **params)[source]#
- Bases: - AtomsProperty- Returns an Atoms object with some or all the atoms translated by a given vector. Absolute or scaled coordinates may be used. Parameters:selection (AtomSelection): selection object defining which atoms toact on. By default, all of them.vector ([float]*3): vector by which to translate the atoms.scaled (bool): if True, treat the input vector as expressed in scaled,not absolute, coordinates.Returns:translated (ase.Atoms): Atoms object with the translation performed.- Initialize an AtomsProperty and set its parameters. The AtomsProperty instance can then be called with a structure as its only argument to get the property with the given parameters. Args:name (str): a name to give to this specific instance of theproperty (will be used to store it as array ifrequested)params: named arguments specific to this type of property- __call__(s, store_array=False, selection=None)#
- Calling the AtomsProperty returns the value of the property as extracted with the parameters of this specific instance. Args:s (ase.Atoms or AtomsCollection): the structure or collectionfrom which to extract thepropertystore_array (bool): if s is a collection, whether to store theresulting data as an array in the collectionusing the given name for this instanceselection (str): a selection string to filter the atoms or AtomSelectionReturns:property: the value of the property for the given structure ora list of values if a collection has been passed
 - static extract(s, selection, **kwargs)[source]#
- Extract the given property with given parameters from an Atoms object. Args:s (ase.Atoms): the structure from which to extract the propertyparams: named arguments specific to this type of propertyReturns:property: the value of the property for the given structure andparameters
 - classmethod get(s, store_array=False, selection=None, **kwargs)#
- Extract the given property using the default parameters on an Atoms object s Args:s (ase.Atoms or AtomsCollection): the structure or collectionfrom which to extract thepropertystore_array (bool): if s is a collection, whether to store theresulting data as an array in the collectionusing the default name for this propertyselection (str): a selection string to filter the atoms or AtomSelectionReturns:property: the value of the property for the given structure ora list of values if a collection has been passed
 - mean(s, axis=None, weights=None, **kwargs)#
- Compute the mean of the property over a list of structures. - The default behaviours are: - For a list of scalars, compute the mean along the specified axis. - For a list of dictionaries, compute the mean for each key across all dictionaries. - For a list of NMRTensor objects, compute the mean using the NMRTensor.mean method. - For a list of arrays, convert to numpy array and then compute the mean along the specified axis. - Parameters:
- s (list[ase.Atoms] | AtomsCollection) – The structure or collection from which to extract the property. 
- axis (int | None) – Axis along which the means are computed. If None, compute the mean of scalars. 
- weights (np.ndarray | None) – An array of weights associated with the values. If specified, the weighted average will be computed. Must have the same shape as the property values. 
- **kwargs – Additional arguments passed to the property’s get method. 
 
- Returns:
- The mean value of the property for the given structures. 
- Return type:
- dict | float | np.ndarray | NMRTensor 
- Raises:
- ValueError – If s is not a collection/list, if property values are None, or if there’s an incompatible shape for computing the mean. 
- TypeError – If the property values are of a type that cannot be averaged.