2.6.1.5.1.2. embeam.stem.probe.symmetric.rspace.Wavefunction
- class Wavefunction(probe_model_params=None, skip_validation_and_conversion=False)[source]
- Bases: - PreSerializableAndUpdatable- The real-space wavefunction of an azimuthally symmetric and coherent probe. - The real-space wavefunction of a coherent probe is well-described by the model given by Eq. (2.6.1.1.4). If the coherent probe is also azimuthally symmetric, then the right-hand-side of Eq. (2.6.1.1.4) simplifies to: (2.6.1.5.1.2.1)\[\psi_{\text{probe}}^{\text{symmetric}}\left(x,y;\delta_{f}\right) =\left(2\pi\right) \int_{0}^{k_{xy,\max}}dk_{xy}\,k_{xy}\Phi_{\text{probe}}\left(k_{xy},0; \delta_{f}\right)J_{0}\left(2\pi k_{xy}r_{xy}\right),\]- where \(x\) and \(y\) are the real-space coordinates; (2.6.1.5.1.2.2)\[r_{xy}=\sqrt{x^{2}+y^{2}};\](2.6.1.5.1.2.3)\[k_{xy,\max}=\frac{\alpha_{\max}}{\lambda},\]- with \(\alpha_{\max}\) being the convergence semiangle, and \(\lambda\) being the electron beam wavelength; \(\delta_f\) is the defocal offset; \(\Phi_{\text{probe}}\left(k_{xy},0;\delta_f\right)\) is the \(k\)-space wavefunction, given by Eq. (2.6.1.1.1); and \(J_{0}\left(u\right)\) is the zeroth order Bessel function of the first kind. - See the documentation for the class - embeam.stem.probe.ModelParamsfor further discussion on probe modelling.- Parameters:
- probe_model_paramsembeam.stem.probe.ModelParams| None, optional
- The model parameters of the coherent probe. If - probe_model_paramsis set to- None[i.e. the default value], then the parameter will be reassigned to the value- embeam.stem.probe.ModelParams(). An exception is raised if the model parameters specify a probe that is either incoherent or azimuthally asymmetric.
- skip_validation_and_conversionbool, optional
- Let - validation_and_conversion_funcsand- core_attrsdenote the attributes- validation_and_conversion_funcsand- core_attrsrespectively, both of which being dict objects.- Let - params_to_be_mapped_to_core_attrsdenote the dict representation of the constructor parameters excluding the parameter- skip_validation_and_conversion, where each dict key- keyis a different constructor parameter name, excluding the name- "skip_validation_and_conversion", and- params_to_be_mapped_to_core_attrs[key]would yield the value of the constructor parameter with the name given by- key.- If - skip_validation_and_conversionis set to- False, then for each key- keyin- params_to_be_mapped_to_core_attrs,- core_attrs[key]is set to- validation_and_conversion_funcs[key] (params_to_be_mapped_to_core_attrs).- Otherwise, if - skip_validation_and_conversionis set to- True, then- core_attrsis set to- params_to_be_mapped_to_core_attrs.copy(). This option is desired primarily when the user wants to avoid potentially expensive deep copies and/or conversions of the dict values of- params_to_be_mapped_to_core_attrs, as it is guaranteed that no copies or conversions are made in this case.
 
- probe_model_params
- Attributes:
- core_attrs
- dict: The “core attributes”. 
- de_pre_serialization_funcs
- dict: The de-pre-serialization functions. 
- pre_serialization_funcs
- dict: The pre-serialization functions. 
- validation_and_conversion_funcs
- dict: The validation and conversion functions. 
 
 - Methods - de_pre_serialize([serializable_rep, ...])- Construct an instance from a serializable representation. - dump([filename, overwrite])- Serialize instance and save the result in a JSON file. - dumps()- Serialize instance. - eval([x, y, skip_validation_and_conversion])- Evaluate the real-space wavefunction of the azimuthally symmetric and coherent probe. - get_core_attrs([deep_copy])- Return the core attributes. - Return the de-pre-serialization functions. - Return the pre-serialization functions. - Return the validation and conversion functions. - load([filename, skip_validation_and_conversion])- Construct an instance from a serialized representation that is stored in a JSON file. - loads([serialized_rep, ...])- Construct an instance from a serialized representation. - Pre-serialize instance. - update(new_core_attr_subset_candidate[, ...])- Update a subset of the core attributes. - execute_post_core_attrs_update_actions - Methods - Construct an instance from a serializable representation. - Serialize instance and save the result in a JSON file. - Serialize instance. - Evaluate the real-space wavefunction of the azimuthally symmetric and coherent probe. - execute_post_core_attrs_update_actions- Return the core attributes. - Return the de-pre-serialization functions. - Return the pre-serialization functions. - Return the validation and conversion functions. - Construct an instance from a serialized representation that is stored in a JSON file. - Construct an instance from a serialized representation. - Pre-serialize instance. - Update a subset of the core attributes. - Attributes - dict: The "core attributes". - dict: The de-pre-serialization functions. - dict: The pre-serialization functions. - dict: The validation and conversion functions. - property core_attrs
- dict: The “core attributes”. - The keys of - core_attrsare the same as the attribute- validation_and_conversion_funcs, which is also a dict object.- Note that - core_attrsshould be considered read-only.
 - property de_pre_serialization_funcs
- dict: The de-pre-serialization functions. - de_pre_serialization_funcshas the same keys as the attribute- validation_and_conversion_funcs, which is also a dict object.- Let - validation_and_conversion_funcsand- pre_serialization_funcsdenote the attributes- validation_and_conversion_funcs- pre_serialization_funcsrespectively, the last of which being a dict object as well.- Let - core_attrs_candidate_1be any dict object that has the same keys as- validation_and_conversion_funcs, where for each dict key- keyin- core_attrs_candidate_1,- validation_and_conversion_funcs[key](core_attrs_candidate_1)does not raise an exception.- Let - serializable_repbe a dict object that has the same keys as- core_attrs_candidate_1, where for each dict key- keyin- core_attrs_candidate_1,- serializable_rep[key]is set to- pre_serialization_funcs[key](core_attrs_candidate_1[key]).- The items of - de_pre_serialization_funcsare expected to be set to callable objects that would lead to- de_pre_serialization_funcs[key](serializable_rep[key])not raising an exception for each dict key- keyin- serializable_rep.- Let - core_attrs_candidate_2be a dict object that has the same keys as- serializable_rep, where for each dict key- keyin- validation_and_conversion_funcs,- core_attrs_candidate_2[key]is set to- de_pre_serialization_funcs[key](serializable_rep[key]).- The items of - de_pre_serialization_funcsare also expected to be set to callable objects that would lead to- validation_and_conversion_funcs[key](core_attrs_candidate_2)not raising an exception for each dict key- keyin- core_attrs_candidate_2.- Note that - de_pre_serialization_funcsshould be considered read-only.
 - classmethod de_pre_serialize(serializable_rep={}, skip_validation_and_conversion=False)
- Construct an instance from a serializable representation. - Parameters:
- serializable_repdict, optional
- A dict object that has the same keys as the attribute - validation_and_conversion_funcs, which is also a dict object.- Let - validation_and_conversion_funcsand- de_pre_serialization_funcsdenote the attributes- validation_and_conversion_funcs- de_pre_serialization_funcsrespectively, the last of which being a dict object as well.- The items of - serializable_repare expected to be objects that would lead to- de_pre_serialization_funcs[key](serializable_rep[key])not raising an exception for each dict key- keyin- serializable_rep.- Let - core_attrs_candidatebe a dict object that has the same keys as- serializable_rep, where for each dict key- keyin- serializable_rep,- core_attrs_candidate[key]is set to de_pre_serialization_funcs[key](serializable_rep[key])``.- The items of - serializable_repare also expected to be set to objects that would lead to- validation_and_conversion_funcs[key](core_attrs_candidate)not raising an exception for each dict key- keyin- serializable_rep.
- skip_validation_and_conversionbool, optional
- Let - core_attrsdenote the attribute- core_attrs, which is a dict object.- If - skip_validation_and_conversionis set to- False, then for each key- keyin- serializable_rep,- core_attrs[key]is set to- validation_and_conversion_funcs[key] (core_attrs_candidate), with- validation_and_conversion_funcsand- core_attrs_candidate_1being introduced in the above description of- serializable_rep.- Otherwise, if - skip_validation_and_conversionis set to- True, then- core_attrsis set to- core_attrs_candidate.copy(). This option is desired primarily when the user wants to avoid potentially expensive deep copies and/or conversions of the dict values of- core_attrs_candidate, as it is guaranteed that no copies or conversions are made in this case.
 
- Returns:
- instance_of_current_clsCurrent class
- An instance constructed from the serializable representation - serializable_rep.
 
 
 - dump(filename='serialized_rep_of_fancytype.json', overwrite=False)
- Serialize instance and save the result in a JSON file. - Parameters:
- filenamestr, optional
- The relative or absolute path to the JSON file in which to store the serialized representation of an instance. 
- overwritebool, optional
- If - overwriteis set to- Falseand a file exists at the path- filename, then the serialized instance is not written to that file and an exception is raised. Otherwise, the serialized instance will be written to that file barring no other issues occur.
 
- Returns:
 
 - dumps()
- Serialize instance. - Returns:
- serialized_repdict
- A serialized representation of an instance. 
 
 
 - eval(x=array([[0.]]), y=array([[0.]]), skip_validation_and_conversion=False)[source]
- Evaluate the real-space wavefunction of the azimuthally symmetric and coherent probe. - This method evaluates Eq. (2.6.1.5.1.2.1). - Parameters:
- xarray_like (float), optional
- The horizontal real-space coordinates, in units of Å, of the real-space coordinate pairs at which to evaluate the wavefunction. 
- yarray_like (float, shape=``x.shape``), optional
- The vertical real-space coordinates, in units of Å, of the real-space coordinate pairs at which to evaluate the wavefunction. 
- skip_validation_and_conversionbool, optional
- If - skip_validation_and_conversionis set to- False, then validations and conversions are performed on the above parameters.- Otherwise, if - skip_validation_and_conversionis set to- True, no validations and conversions are performed on the above parameters. This option is desired primarily when the user wants to avoid potentially expensive validation and/or conversion operations.
 
- Returns:
- resultarray_like (complex, shape=``x.shape``)
- The values of the wavefunction at the real-space coordinate pairs specified by - xand- y. For every tuple of nonnegative integers- indicesthat does not raise an- IndexErrorexception upon calling- result[indices],- result[indices]is the value of the wavefunction for the real-space coordinate pair- (x[indices], y[indices]).
 
 
 - get_core_attrs(deep_copy=True)
- Return the core attributes. - Parameters:
- deep_copybool, optional
- Let - core_attrsdenote the attribute- core_attrs, which is a dict object.- If - deep_copyis set to- True, then a deep copy of- core_attrsis returned. Otherwise, a shallow copy of- core_attrsis returned.
 
- Returns:
- core_attrsdict
- The attribute - core_attrs.
 
 
 - classmethod get_de_pre_serialization_funcs()[source]
- Return the de-pre-serialization functions. - Returns:
- de_pre_serialization_funcsdict
- The attribute - de_pre_serialization_funcs.
 
 
 - classmethod get_pre_serialization_funcs()[source]
- Return the pre-serialization functions. - Returns:
- pre_serialization_funcsdict
- The attribute - pre_serialization_funcs.
 
 
 - classmethod get_validation_and_conversion_funcs()[source]
- Return the validation and conversion functions. - Returns:
- validation_and_conversion_funcsdict
- The attribute - validation_and_conversion_funcs.
 
 
 - classmethod load(filename='serialized_rep_of_fancytype.json', skip_validation_and_conversion=False)
- Construct an instance from a serialized representation that is stored in a JSON file. - Users can save serialized representations to JSON files using the method - fancytypes.PreSerializable.dump().- Parameters:
- filenamestr, optional
- The relative or absolute path to the JSON file that is storing the serialized representation of an instance. - filenameis expected to be such that- json.load(open(filename, "r"))does not raise an exception.- Let - serializable_rep=json.load(open(filename, "r")).- Let - validation_and_conversion_funcsand- de_pre_serialization_funcsdenote the attributes- validation_and_conversion_funcs- de_pre_serialization_funcsrespectively, both of which being dict objects as well.- filenameis also expected to be such that- de_pre_serialization_funcs[key](serializable_rep[key])does not raise an exception for each dict key- keyin- de_pre_serialization_funcs.- Let - core_attrs_candidatebe a dict object that has the same keys as- de_pre_serialization_funcs, where for each dict key- keyin- serializable_rep,- core_attrs_candidate[key]is set to de_pre_serialization_funcs[key](serializable_rep[key])``.- filenameis also expected to be such that- validation_and_conversion_funcs[key](core_attrs_candidate)does not raise an exception for each dict key- keyin- serializable_rep.
- skip_validation_and_conversionbool, optional
- Let - core_attrsdenote the attribute- core_attrs, which is a dict object.- Let - core_attrs_candidatebe as defined in the above description of- filename.- If - skip_validation_and_conversionis set to- False, then for each key- keyin- core_attrs_candidate,- core_attrs[key]is set to- validation_and_conversion_funcs[key] (core_attrs_candidate), , with- validation_and_conversion_funcsand- core_attrs_candidatebeing introduced in the above description of- filename.- Otherwise, if - skip_validation_and_conversionis set to- True, then- core_attrsis set to- core_attrs_candidate.copy(). This option is desired primarily when the user wants to avoid potentially expensive deep copies and/or conversions of the dict values of- core_attrs_candidate, as it is guaranteed that no copies or conversions are made in this case.
 
- Returns:
- instance_of_current_clsCurrent class
- An instance constructed from the serialized representation stored in the JSON file. 
 
 
 - classmethod loads(serialized_rep='{}', skip_validation_and_conversion=False)
- Construct an instance from a serialized representation. - Users can generate serialized representations using the method - dumps().- Parameters:
- serialized_repstr | bytes | bytearray, optional
- The serialized representation. - serialized_repis expected to be such that- json.loads(serialized_rep)does not raise an exception.- Let - serializable_rep=json.loads(serialized_rep).- Let - validation_and_conversion_funcsand- de_pre_serialization_funcsdenote the attributes- validation_and_conversion_funcs- de_pre_serialization_funcsrespectively, both of which being dict objects as well.- serialized_repis also expected to be such that- de_pre_serialization_funcs[key](serializable_rep[key])does not raise an exception for each dict key- keyin- de_pre_serialization_funcs.- Let - core_attrs_candidatebe a dict object that has the same keys as- serializable_rep, where for each dict key- keyin- de_pre_serialization_funcs,- core_attrs_candidate[key]is set to de_pre_serialization_funcs[key](serializable_rep[key])``.- serialized_repis also expected to be such that- validation_and_conversion_funcs[key](core_attrs_candidate)does not raise an exception for each dict key- keyin- serializable_rep.
- skip_validation_and_conversionbool, optional
- Let - core_attrsdenote the attribute- core_attrs, which is a dict object.- If - skip_validation_and_conversionis set to- False, then for each key- keyin- core_attrs_candidate,- core_attrs[key]is set to- validation_and_conversion_funcs[key] (core_attrs_candidate), with- validation_and_conversion_funcsand- core_attrs_candidate_1being introduced in the above description of- serialized_rep.- Otherwise, if - skip_validation_and_conversionis set to- True, then- core_attrsis set to- core_attrs_candidate.copy(). This option is desired primarily when the user wants to avoid potentially expensive deep copies and/or conversions of the dict values of- core_attrs_candidate, as it is guaranteed that no copies or conversions are made in this case.
 
- Returns:
- instance_of_current_clsCurrent class
- An instance constructed from the serialized representation. 
 
 
 - property pre_serialization_funcs
- dict: The pre-serialization functions. - pre_serialization_funcshas the same keys as the attribute- validation_and_conversion_funcs, which is also a dict object.- Let - validation_and_conversion_funcsand- core_attrsdenote the attributes- validation_and_conversion_funcsand- core_attrsrespectively, the last of which being a dict object as well.- For each dict key - keyin- core_attrs,- pre_serialization_funcs[key](core_attrs[key])is expected to yield a serializable object, i.e. it should yield an object that can be passed into the function- json.dumpswithout raising an exception.- Note that - pre_serialization_funcsshould be considered read-only.
 - pre_serialize()
- Pre-serialize instance. - Returns:
- serializable_repdict
- A serializable representation of an instance. 
 
 
 - update(new_core_attr_subset_candidate, skip_validation_and_conversion=False)[source]
- Update a subset of the core attributes. - Parameters:
- new_core_attr_subset_candidatedict, optional
- A dict object. 
- skip_validation_and_conversionbool, optional
- Let - validation_and_conversion_funcsand- core_attrsdenote the attributes- validation_and_conversion_funcsand- core_attrsrespectively, both of which being dict objects.- If - skip_validation_and_conversionis set to- False, then for each key- keyin- core_attrsthat is also in- new_core_attr_subset_candidate,- core_attrs[key]is set to- validation_and_conversion_funcs[key] (new_core_attr_subset_candidate).- Otherwise, if - skip_validation_and_conversionis set to- True, then for each key- keyin- core_attrsthat is also in- new_core_attr_subset_candidate,- core_attrs[key]is set to- new_core_attr_subset_candidate[key]. This option is desired primarily when the user wants to avoid potentially expensive deep copies and/or conversions of the dict values of- new_core_attr_subset_candidate, as it is guaranteed that no copies or conversions are made in this case.
 
 
 - property validation_and_conversion_funcs
- dict: The validation and conversion functions. - The keys of - validation_and_conversion_funcsare the names of the constructor parameters, excluding- skip_validation_and_conversionif it exists as a construction parameter.- Let - core_attrsdenote the attribute- core_attrs, which is also a dict object.- For each dict key - keyin- core_attrs,- validation_and_conversion_funcs[key](core_attrs)is expected to not raise an exception.- Note that - validation_and_conversion_funcsshould be considered read-only.