sasdata.dataloader.filereader module

This is the base file reader class most file readers should inherit from. All generic functionality required for a file loader/reader is built into this class

class sasdata.dataloader.filereader.FileReader

Bases: object

allow_all = False
convert_data_units(default_q_unit: str = '1/A')

Converts al; data to the sasview default of units of A^{-1} for Q and cm^{-1} for I. :param default_q_unit: The default Q unit used by Sasview

data_cleanup()

Clean up the data sets and refresh everything :return: None

ext = ['.txt']
format_unit(unit: str = None) str

Format units a common way :param unit: :return:

abstractmethod get_file_contents()

Reader specific class to access the contents of the file All reader classes that inherit from FileReader must implement

handle_error_message(msg: str)

Generic error handler to add an error to the current datainfo to propagate the error up the error chain. :param msg: Error message

has_converter = True
nextline() str

Returns the next line in the file as a string.

nextlines() str

Returns the next line in the file as a string.

read(filepath: str | Path, file_handler: CustomFileOpen | None = None, f_pos: int | None = 0) List[Data1D | Data2D]

Basic file reader

Parameters:
  • filepath – The string representation of the path to a file to be loaded. This can be a URI or a local file

  • file_handler – A CustomFileOpen instance used to handle file operations

  • f_pos – The initial file position to start reading from

Returns:

A list of Data1D and Data2D objects

readall() str

Returns the entire file as a string.

remove_empty_q_values()

Remove any point where Q == 0

reset_data_list(no_lines: int = 0)

Reset the plottable_1D object

reset_state()

Resets the class state to a base case when loading a new data file so previous data files do not appear a second time

send_to_output()

Helper that automatically combines the info and set and then appends it to output

set_all_to_none()

Set all mutable values to None for error handling purposes

static set_default_1d_units(data: Data1D | Data2D) Data1D | Data2D

Set the x and y axes to the default 1D units :param data: 1D data set :return:

static set_default_2d_units(data: Data1D | Data2D) Data1D | Data2D

Set the x and y axes to the default 2D units :param data: 2D data set :return:

sort_data()

Sort 1D data along the X axis for consistency

static splitline(line: str) List[str]

Splits a line into pieces based on common delimiters :param line: A single line of text :return: list of values

type = ['Text files (*.txt|*.TXT)']
type_name = 'ASCII'
sasdata.dataloader.filereader.decode(s)