from _typeshed import Incomplete

__all__ = ['load_data', 'load_transform', 'plot_slice', 'Scissors', 'reciprocal_lattice_params', 'rotate_data', 'convert_to_inverse_angstroms', 'array_to_nxdata', 'Padder', 'rebin_nxdata', 'rebin_3d', 'rebin_1d', 'animate_slice_temp', 'animate_slice_axis']

def load_data(path, print_tree: bool = True): ...
def load_transform(path, print_tree: bool = True, use_nxlink: bool = False): ...
def array_to_nxdata(array, data_template, signal_name=None): ...
def rebin_3d(array): ...
def rebin_1d(array): ...
def rebin_nxdata(data): ...
def plot_slice(data, X=None, Y=None, sum_axis=None, transpose: bool = False, vmin=None, vmax=None, skew_angle: int = 90, ax=None, xlim=None, ylim=None, xticks=None, yticks=None, cbar: bool = True, logscale: bool = False, symlogscale: bool = False, cmap: str = 'viridis', linthresh: int = 1, title=None, mdheading=None, cbartitle=None, **kwargs): ...
def animate_slice_temp(temp_dependence, slice_obj, ax=None, reverse_temps: bool = False, interval: int = 500, save_gif: bool = False, filename: str = 'animation', title: bool = True, title_fmt: str = 'd', plot_slice_kwargs=None, ax_kwargs=None): ...
def animate_slice_axis(data, axis, axis_values, ax=None, interval: int = 500, save_gif: bool = False, filename: str = 'animation', title: bool = True, title_fmt: str = '.2f', plot_slice_kwargs={}, ax_kwargs={}): ...

class Scissors:
    data: Incomplete
    center: Incomplete
    window: Incomplete
    axis: Incomplete
    integration_volume: Incomplete
    integrated_axes: Incomplete
    linecut: Incomplete
    integration_window: Incomplete
    def __init__(self, data=None, center=None, window=None, axis=None) -> None: ...
    def set_data(self, data) -> None: ...
    def get_data(self): ...
    def set_center(self, center) -> None: ...
    def set_window(self, window, axis=None, verbose: bool = False) -> None: ...
    def get_window(self): ...
    def cut_data(self, center=None, window=None, axis=None, verbose: bool = False): ...
    def highlight_integration_window(self, data=None, width=None, height=None, label=None, highlight_color: str = 'red', **kwargs): ...
    def plot_integration_window(self, **kwargs): ...

def reciprocal_lattice_params(lattice_params): ...
def convert_to_inverse_angstroms(data, lattice_params): ...
def rotate_data(data, lattice_angle, rotation_angle, rotation_axis=None, rotation_order=None, aspect=None, aspect_order=None, printout: bool = False): ...

class Padder:
    maxes: Incomplete
    steps: Incomplete
    data: Incomplete
    padded: Incomplete
    padding: Incomplete
    def __init__(self, data=None) -> None: ...
    def set_data(self, data) -> None: ...
    def pad(self, padding): ...
    def save(self, fout_name=None) -> None: ...
    def unpad(self, data): ...
