Source code for h0rton.trainval_data.data_utils

import numpy as np
import torch
__all__ = ['rescale_01', 'whiten_Y_cols', 'plus_1_log', 'asinh', 'whiten_pixels', 'log_parameterize_Y_cols']

[docs]def whiten_pixels(pixels): return (pixels - torch.mean(pixels))/torch.std(pixels)
[docs]def asinh(x): return torch.log(x+(x**2+1)**0.5)
[docs]def plus_1_log(linear): """Add 1 and take the log10 of an image Parameters ---------- linear : torch.Tensor of shape `[X_dim, X_dim]` Returns ------- torch.Tensor the image of the same input shape, with values now logged """ return torch.log1p(linear)
[docs]def rescale_01(unscaled): """Rescale an image of unknown range to values between 0 and 1 Parameters ---------- unscaled : torch.Tensor of shape `[X_dim, X_dim]` Returns ------- torch.Tensor the image of the same input shape, with values now scaled between 0 and 1 """ return (unscaled - unscaled.min())/(unscaled.max() - unscaled.min())
[docs]def whiten_Y_cols(df, mean, std, col_names): """Whiten (in place) select columns in the given dataframe, i.e. shift and scale then so that they have the desired mean and std Parameters ---------- df : pd.DataFrame mean : array-like target mean std : array-like target std col_names : list names of columns to whiten """ df.loc[:, col_names] = (df.loc[:, col_names].values - mean)/std
#return df
[docs]def log_parameterize_Y_cols(df, col_names): """Whiten (in place) select columns in the given dataframe, i.e. shift and scale then so that they have the desired mean and std Parameters ---------- df : pd.DataFrame mean : array-like target mean std : array-like target std col_names : list names of columns to whiten """ df.loc[:, col_names] = np.log(df.loc[:, col_names].values)