2.15. empix.OptionalCumulative1dIntegrationParams
- class OptionalCumulative1dIntegrationParams(limits=None, num_bins=None, normalize=False, title=None, skip_validation_and_conversion=False)[source]
- Bases: - PreSerializableAndUpdatable- The set of optional parameters for the function - empix.cumulatively_integrate_1d().- The Python function - empix.cumulatively_integrate_1d()integrates cumulatively a given input 1D- hyperspysignal. The Python function assumes that the input 1D- hyperspysignal samples from a mathematical function \(F_{\mathbf{m}}\left(u\right)\) which is piecewise continuous in \(u\), where \(u\) is the signal space coordinate of the input signal, and \(\mathbf{m}\) is a vector of integers representing the navigation indices of the input signal. The Python function approximates the cumulative integral of \(F_{\mathbf{m}}\left(u\right)\) given the input signal. We define the cumulative integral of \(F_{\mathbf{m}}\left(u\right)\) as(2.15.1)\[\begin{split}\text{CDF}_{\text{1D}}\left(u\right)&=\frac{1}{\Gamma} \int_{u_{i}}^{u}du^{\prime}\,F_{\mathbf{m}}\left(u^{\prime}\right), \\&\quad u\in\left[\min\left(u_{i},u_{f}\right), \max\left(u_{i},u_{f}\right)\right],\end{split}\]- where (2.15.2)\[\begin{split}\Gamma=\begin{cases} 1, & \text{if }\mathcal{N}\le 10^{-10} \text{ or } \text{normalize}=\text{False}, \\\left|\int_{u_{i}}^{u_{f}}du^{\prime}\, F_{\mathbf{m}}\left(u^{\prime}\right)\right|, & \text{otherwise}, \end{cases}\end{split}\](2.15.3)\[\mathcal{N}=\left|\int_{u_{i}}^{u_{f}}du^{\prime} \,F_{\mathbf{m}}\left(u^{\prime}\right)\right|,\]- \(u_i\) and \(u_f\) specify the interval over which cumulative integration is performed, the interval being \(\left[\min\left(u_{i},u_{f}\right), \max\left(u_{i},u_{f}\right)\right]\), and - normalizeis an optional boolean parameter that determines whether normalization is enabled or not.- Parameters:
- limitsarray_like (float, shape=(2,)) | None, optional
- If - limitsis set to- None, then the cumulative integration is performed over the entire input signal, with \(u_i<u_f\). Otherwise, if- limitsis set to a pair of floating-point numbers, then- limits[0]and- limits[1]are \(u_i\) and \(u_f\) respectively, in the same units of the signal space coordinate \(u\). Note that the function represented by the input signal is assumed to be equal to zero everywhere outside of the bounds of said input signal.
- num_binsint | None, optional
- num_binsmust either be a positive integer or of the NoneType: if the former, then the dimension of the signal space of the output signal- output_signalis set to- num_bins; if the latter, then the dimension of the signal space of- output_signalis set to- input_signal.data[-1], where- input_signalis the input- hyperspysignal.
- normalizebool, optional
- The boolean optional parameter referenced in Eq. (2.15.2). 
- titlestr | None, optional
- If - titleis set to- None, then the title of the output signal- output_signalis set to- "CDF("+ input_signal.metadata.General.title+")", where- input_signalis the input- hyperspysignal. Otherwise, if- titleis a str, then the- output_signal.metadata.General.titleis set to the value of- title.
- 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.
 
- 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. - 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. - Methods - Construct an instance from a serializable representation. - Serialize instance and save the result in a JSON file. - Serialize instance. - 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. 
 
 
 - 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)
- 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.