Reports.Controller#

Reports.Controller.py

class Controller(env_info, ssd, preproc, kwargs)#

Bases: SerialExecuter

Controller class for managing report generation in MOLASS.

This class corresponds to the legacy SerialExecuter class in molass_legacy.SerialAnalyzer.SerialController.

Inherits from SerialExecuter to use the following methods:

save_smoothed_data

env_info#

Information about the environment, including Excel and ATSAS availability.

Type:

EnvironmentInfo

ssd#

The serial SAXS data to be analyzed.

Type:

SerialSaxsData

preproc#

The preprocessor containing preprocessed data.

Type:

Preprocessor

kwargs#

Additional keyword arguments for configuration.

Type:

dict

logger#

Logger for logging messages.

Type:

Logger

work_folder#

The working folder for report generation.

Type:

str

bookpath#

The path to the Excel report file.

Type:

str

excel_is_available#

Indicates if Excel is available.

Type:

bool

excel_version#

The version of Excel being used.

Type:

str

atsas_is_available#

Indicates if ATSAS is available.

Type:

bool

more_multicore#

Indicates if more than 4 CPU cores are available for parallel processing.

Type:

bool

conc_tracker#

The concentration tracker, if concentration tracking is enabled.

Type:

ConcTracker or None

temp_folder#

Temporary folder for intermediate files.

Type:

str

result_wb#

The Excel workbook for results, if Excel is available.

Type:

Workbook or None

teller#

The Excel teller for managing Excel operations in parallel mode.

Type:

ExcelTeller or None

excel_client#

The Excel COM client for managing Excel operations in single-threaded mode.

Type:

ExcelComClient or None

Initialize the Controller. :param env_info: Information about the environment, including Excel and ATSAS availability. :type env_info: EnvironmentInfo :param ssd: The serial SAXS data to be analyzed. :type ssd: SerialSaxsData :param preproc: The preprocessor containing preprocessed data. :type preproc: Preprocessor :param kwargs: Additional keyword arguments for configuration. :type kwargs: dict

prepare_averaged_data()#

Prepare averaged data if input_smoothing is set to 1. This method updates the using_averaged_files attribute based on the settings.

make_temp_folder()#

Create a temporary folder for intermediate files.

stop()#

Stop the controller and clean up resources.

stop_check()#

Check if the controller should stop.

cleanup()#

Cleanup temporary files and resources.

error_cleanup()#

Cleanup resources in case of an error.