zospy.analyses.base.AnalysisResult#

class zospy.analyses.base.AnalysisResult#

Bases: AttrDict

Methods

from_json(json_string)

Creates an AnalysisResult object from a JSON string.

to_json()

Serializes the analysis result to JSON.

__init__(analysistype: str, data: Any = None, settings: Series = None, metadata: AnalysisMetadata = None, headerdata: list[str] = None, messages: list[AnalysisMessage] = None, **kwargs)#

A class designed to hold an OpticStudio analysis.

The class is basically a dict with attribute level access. However, for an AnalysisResult, certain keys are often present and thus automatically set.

Parameters:
analysistype: str

The type of analysis that has been performed. Will be assigned to AnalysisResult.AnalysisType (also available through AnalysisResult[‘AnalysisType’].

data: Any, optional

The analysis data, can be any of the native python datatypes, a pd.Series, pd.DataFrame, np.ndarray or AnalysisData. Will be assigned to AnalysisResult.Data (also available through AnalysisResult[‘Data’]. Defaults to None.

settings: pd.Series, optional

The analysis settings. Will be assigned to AnalysisResult.Settings (also available through AnalysisResult[‘Settings’]. Defaults to None.

metadata: AnalysisMetadata, optional

The analysis metadata. Will be assigned to AnalysisResult.MetaData (also available through AnalysisResult[‘MetaData’]. Defaults to None.

headerdata: list[str], optional

The analysis headerdata. Will be assigned to AnalysisResult.HeaderData (also available through AnalysisResult[‘HeaderData’]. Defaults to None.

messages: list[AnalysisMessage], optional:

The analysis messages. Will be assigned to AnalysisResult.Messages (also available through AnalysisResult[‘Messages’]. Defaults to None.

kwargs:

Any supplied kwarg will be assigned as an attribute (also available as AnalysisResult[kwarg]. Note that ‘AnalysisType’, ‘Data’, ‘Settings’ ‘MetaData’, ‘HeaderData’ and ‘Messages’ are not available to be set.

Returns:
AnalysisResult:

A dict with attribute-like access

Raises:
SyntaxError:

If any of the following kwargs is specified ‘AnalysisType’, ‘Data’, ‘Settings’ ‘MetaData’, ‘HeaderData’ or ‘Messages’. These are to be set through the default arguments.

classmethod from_json(json_string: str) AnalysisResult#

Creates an AnalysisResult object from a JSON string.

This method should only be used with JSON strings created with AnalysisResult.to_json.

Parameters:
json_stringstr

JSON representation of an AnalysisResult object, created with to_json.

Returns:
resultAnalysisResult

The reconstructed AnalysisResult.

to_json() str#

Serializes the analysis result to JSON.

Returns:
json_string: str

A JSON representation of the analysis result.