SYMBOL INDEX (1397 symbols across 133 files) FILE: analysis_scripts/kmeans.py function parse_args (line 14) | def parse_args(): function main (line 34) | def main(args): FILE: analysis_scripts/plot_loss.py function parse_args (line 12) | def parse_args(): function main (line 19) | def main(args): FILE: analysis_scripts/plot_z1.py function parse_args (line 12) | def parse_args(): function main (line 42) | def main(args): FILE: analysis_scripts/plot_z2.py function parse_args (line 13) | def parse_args(): function main (line 56) | def main(args): FILE: analysis_scripts/plot_z_pca.py function parse_args (line 13) | def parse_args(): function main (line 59) | def main(args): FILE: analysis_scripts/run_umap.py function parse_args (line 15) | def parse_args(): function main (line 24) | def main(args): FILE: analysis_scripts/tsne.py function parse_args (line 11) | def parse_args(): function main (line 22) | def main(args): FILE: cryodrgn/analysis.py function parse_loss (line 29) | def parse_loss(f: str) -> np.ndarray: function run_pca (line 47) | def run_pca(z: np.ndarray) -> Tuple[np.ndarray, PCA]: function get_pc_traj (line 56) | def get_pc_traj( function run_tsne (line 93) | def run_tsne( function run_umap (line 104) | def run_umap(z: np.ndarray, **kwargs) -> np.ndarray: function cluster_kmeans (line 115) | def cluster_kmeans( function cluster_gmm (line 147) | def cluster_gmm( function get_nearest_point (line 179) | def get_nearest_point( function convert_original_indices (line 193) | def convert_original_indices( function combine_ind (line 202) | def combine_ind( function get_ind_for_cluster (line 219) | def get_ind_for_cluster( function _get_chimerax_colors (line 243) | def _get_chimerax_colors(K: int) -> List: function _get_colors (line 260) | def _get_colors(K: int, cmap: Optional[str] = None) -> List: function scatter_annotate (line 270) | def scatter_annotate( function scatter_annotate_hex (line 304) | def scatter_annotate_hex( function scatter_color (line 342) | def scatter_color( function plot_by_cluster (line 368) | def plot_by_cluster( function plot_by_cluster_subplot (line 418) | def plot_by_cluster_subplot( function plot_euler (line 438) | def plot_euler(theta, phi, psi, plot_psi=True): function ipy_plot_interactive_annotate (line 448) | def ipy_plot_interactive_annotate(df, ind, opacity=0.3): function ipy_plot_interactive (line 513) | def ipy_plot_interactive(df, opacity=0.3): function plot_projections (line 580) | def plot_projections(imgs, labels=None, max_imgs=25): function gen_volumes (line 607) | def gen_volumes( function load_dataframe (line 660) | def load_dataframe( FILE: cryodrgn/analysis_drgnai.py class VolumeGenerator (line 23) | class VolumeGenerator: method __init__ (line 26) | def __init__( method gen_volumes (line 46) | def gen_volumes(self, outdir, z_values, suffix=None): class ModelAnalyzer (line 77) | class ModelAnalyzer: method get_last_cached_epoch (line 96) | def get_last_cached_epoch(cls, traindir: str) -> int: method __init__ (line 111) | def __init__( method linear_interpolation (line 189) | def linear_interpolation(z_0, z_1, n, exclude_last=False): method analyze (line 195) | def analyze(self): method analyze_z1 (line 235) | def analyze_z1(self) -> None: method analyze_zN (line 265) | def analyze_zN(self) -> None: FILE: cryodrgn/beta_schedule.py function get_beta_schedule (line 4) | def get_beta_schedule(schedule): class ConstantSchedule (line 19) | class ConstantSchedule: method __init__ (line 20) | def __init__(self, value): method __call__ (line 23) | def __call__(self, x): class LinearSchedule (line 27) | class LinearSchedule: method __init__ (line 28) | def __init__(self, start_y, end_y, start_x, end_x): method __call__ (line 35) | def __call__(self, x): FILE: cryodrgn/command_line.py function _get_commands (line 21) | def _get_commands(cmd_dir: str, cmds: list[str], doc_str: str = "") -> N... function main_commands (line 79) | def main_commands() -> None: function util_commands (line 112) | def util_commands() -> None: FILE: cryodrgn/commands/abinit.py function add_args (line 40) | def add_args(parser: argparse.ArgumentParser) -> None: class ModelTrainer (line 531) | class ModelTrainer: method make_dataloader (line 571) | def make_dataloader(self, batch_size: int) -> DataLoader: method __init__ (line 580) | def __init__(self, outdir: str, config_vals: dict[str, Any]) -> None: method train (line 1080) | def train(self): method get_ctfs_at (line 1234) | def get_ctfs_at(self, index): method train_step (line 1253) | def train_step(self, in_dict, end_time): method detach_latent_variables (line 1410) | def detach_latent_variables(self, latent_variables_dict): method forward_pass (line 1432) | def forward_pass(self, in_dict): method loss (line 1516) | def loss(self, y_pred, y_gt, latent_variables_dict): method make_light_summary (line 1553) | def make_light_summary(self, all_losses: dict[str, float]) -> None: method save_latents (line 1573) | def save_latents(self) -> None: method save_volume (line 1589) | def save_volume(self) -> None: method save_model (line 1617) | def save_model(self) -> None: method epoch_type (line 1646) | def epoch_type(self) -> str: function main (line 1656) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/abinit_het_old.py function add_args (line 41) | def add_args(parser: argparse.ArgumentParser) -> None: function make_model (line 409) | def make_model(args, lattice, enc_mask, in_dim) -> HetOnlyVAE: function pretrain (line 428) | def pretrain(model, lattice, optim, minibatch, tilt, zdim): function train (line 461) | def train( function eval_z (line 597) | def eval_z( function save_checkpoint (line 650) | def save_checkpoint( function save_config (line 693) | def save_config(args, dataset, lattice, model, out_config): function sort_poses (line 731) | def sort_poses(poses): function main (line 745) | def main(args): FILE: cryodrgn/commands/abinit_homo_old.py function add_args (line 30) | def add_args(parser: argparse.ArgumentParser) -> None: function save_checkpoint (line 321) | def save_checkpoint( function pretrain (line 342) | def pretrain(model, lattice, optim, batch, tilt=None): function sort_poses (line 369) | def sort_poses(pose): function sort_base_poses (line 384) | def sort_base_poses(pose): function train (line 391) | def train( function make_model (line 486) | def make_model(args, D: int): function save_config (line 501) | def save_config(args, dataset, lattice, out_config): function main (line 531) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/analyze.py function add_args (line 37) | def add_args(parser: argparse.ArgumentParser) -> None: function analyze_z1 (line 111) | def analyze_z1(z, outdir, vg, n_per_pc=10): function analyze_zN (line 132) | def analyze_zN( class VolumeGenerator (line 427) | class VolumeGenerator: method __init__ (line 430) | def __init__(self, weights, config, vol_args={}, skip_vol=False): method gen_volumes (line 436) | def gen_volumes(self, outdir, z_values): function main (line 446) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/analyze_landscape.py function add_args (line 44) | def add_args(parser: argparse.ArgumentParser) -> None: function generate_volumes (line 163) | def generate_volumes(z, outdir, vg_list, K, vol_start_index): function make_mask (line 203) | def make_mask( function view_slices (line 255) | def view_slices(y: np.array, out_png: str, D: Optional[int] = None) -> N... function choose_cmap (line 267) | def choose_cmap(M): function get_colors_for_cmap (line 277) | def get_colors_for_cmap(cmap, M): function analyze_volumes (line 285) | def analyze_volumes( function make_volume_generator (line 543) | def make_volume_generator( function main (line 578) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/analyze_landscape_full.py function add_args (line 42) | def add_args(parser: argparse.ArgumentParser) -> None: function train (line 152) | def train(model, device, train_loader, optimizer, epoch): function test (line 173) | def test(model, device, test_loader): class MyDataset (line 189) | class MyDataset(Dataset): method __init__ (line 190) | def __init__(self, x, y): method __len__ (line 195) | def __len__(self): method __getitem__ (line 198) | def __getitem__(self, idx): function generate_and_map_volumes (line 202) | def generate_and_map_volumes(zfile, cfg, weights, mask_mrc, pca_obj_pkl,... function train_model (line 348) | def train_model(x, y, outdir, zfile, args): function choose_cmap (line 402) | def choose_cmap(M): function get_colors_for_cmap (line 412) | def get_colors_for_cmap(cmap, M): function main (line 420) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/backproject_voxel.py function add_args (line 47) | def add_args(parser: argparse.ArgumentParser) -> None: function add_slice (line 178) | def add_slice(volume, counts, ff_coord, ff, D, ctf_mul): function regularize_volume (line 209) | def regularize_volume( function main (line 219) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/dashboard.py function _configure_dashboard_logging (line 25) | def _configure_dashboard_logging(verbosity: int) -> None: function add_args (line 63) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 176) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/direct_traversal.py function add_args (line 16) | def add_args(parser: argparse.ArgumentParser) -> None: function parse_anchors (line 44) | def parse_anchors( function main (line 83) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/downsample.py function add_args (line 57) | def add_args(parser: argparse.ArgumentParser) -> None: function downsample_mrc_images (line 113) | def downsample_mrc_images( function main (line 220) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/eval_images.py function add_args (line 28) | def add_args(parser): function eval_batch (line 159) | def eval_batch( function main (line 179) | def main(args): FILE: cryodrgn/commands/eval_vol.py function add_args (line 30) | def add_args(parser: argparse.ArgumentParser) -> None: function check_inputs (line 102) | def check_inputs(args: argparse.Namespace) -> None: function postprocess_vol (line 110) | def postprocess_vol(vol, args): function reset_origin (line 122) | def reset_origin(oldD, cropD, Apix): function main (line 132) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/filter.py function add_args (line 64) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 103) | def main(args: argparse.Namespace) -> None: class SelectFromScatter (line 314) | class SelectFromScatter: method __init__ (line 317) | def __init__( method gridspec (line 396) | def gridspec(self) -> GridSpec: method plot (line 402) | def plot(self) -> None: method update_xaxis (line 464) | def update_xaxis(self, xlbl: str) -> None: method update_yaxis (line 469) | def update_yaxis(self, ylbl: str) -> None: method choose_colors (line 474) | def choose_colors(self, chosen_colors: str) -> None: method choose_points (line 483) | def choose_points(self, verts: np.array) -> None: method hover_points (line 493) | def hover_points(self, event: MouseEvent) -> None: method on_click (line 530) | def on_click(self, event: MouseEvent) -> None: method on_release (line 535) | def on_release(self, event: MouseEvent) -> None: method save_click (line 542) | def save_click(self, event: MouseEvent) -> None: method exit_click (line 548) | def exit_click(self, event: MouseEvent) -> None: FILE: cryodrgn/commands/graph_traversal.py function add_args (line 32) | def add_args(parser: argparse.ArgumentParser) -> None: class GraphLatentTraversor (line 90) | class GraphLatentTraversor: method __init__ (line 93) | def __init__(self, edges: List[Tuple[int, int, float]]) -> None: method find_path (line 113) | def find_path(self, src: int, dest: int) -> Tuple[List[int], float]: function main (line 153) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/parse_ctf_csparc.py function add_args (line 13) | def add_args(parser): function main (line 28) | def main(args): FILE: cryodrgn/commands/parse_ctf_star.py function add_args (line 32) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 51) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/parse_pose_csparc.py function add_args (line 14) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 35) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/parse_pose_star.py function add_args (line 25) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 47) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/parse_star.py function add_args (line 21) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 45) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/pc_traversal.py function add_args (line 18) | def add_args(parser: argparse.ArgumentParser) -> None: function analyze_data_support (line 52) | def analyze_data_support(z, traj, cutoff=3): function main (line 58) | def main(args): FILE: cryodrgn/commands/train_dec.py function add_args (line 23) | def add_args(parser: argparse.ArgumentParser) -> None: function save_checkpoint (line 265) | def save_checkpoint( function save_z (line 285) | def save_z(z, out_z): function cat_z (line 290) | def cat_z(coords, z, zdim): function train (line 302) | def train( function save_config (line 355) | def save_config(args, dataset, lattice, model, out_config): function get_latest (line 386) | def get_latest(args): function main (line 408) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/train_nn.py function add_args (line 38) | def add_args(parser: argparse.ArgumentParser) -> None: function save_checkpoint (line 251) | def save_checkpoint( function train (line 268) | def train( function save_config (line 318) | def save_config(args, dataset, lattice, model, out_config): function main (line 348) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands/train_vae.py function add_args (line 45) | def add_args(parser: argparse.ArgumentParser) -> None: function train_batch (line 366) | def train_batch( function preprocess_input (line 420) | def preprocess_input(y, lattice, trans): function run_batch (line 428) | def run_batch(model, lattice, y, rot, ntilts: Optional[int], ctf_params=... function loss_function (line 462) | def loss_function( function eval_z (line 498) | def eval_z( function save_checkpoint (line 562) | def save_checkpoint(model, optim, epoch, z_mu, z_logvar, out_weights, ou... function save_config (line 579) | def save_config(args, dataset, lattice, model, out_config): function main (line 624) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/add_psize.py function add_args (line 16) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 24) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/analyze_convergence.py function add_args (line 37) | def add_args(parser: argparse.ArgumentParser) -> None: function find_configs (line 188) | def find_configs(workdir: str) -> str: function plot_loss (line 199) | def plot_loss(logfile, outdir, E): function encoder_latent_umaps (line 225) | def encoder_latent_umaps( function encoder_latent_shifts (line 342) | def encoder_latent_shifts(workdir: str, outdir: str, E: int): function sketch_via_umap_local_maxima (line 400) | def sketch_via_umap_local_maxima( function follow_candidate_particles (line 624) | def follow_candidate_particles( function generate_volumes (line 745) | def generate_volumes(workdir, outdir, epochs, Apix, flip, invert, downsa... function mask_volume (line 769) | def mask_volume(volpath, outpath, Apix, thresh=None, dilate=3, dist=10): function mask_volumes (line 805) | def mask_volumes( function calculate_CCs (line 849) | def calculate_CCs(outdir, epochs, labels, chimerax_colors): function calculate_FSCs (line 908) | def calculate_FSCs(outdir, epochs, labels, img_size, chimerax_colors): function main (line 1032) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/clean.py function add_args (line 57) | def add_args(parser): function clean_dir (line 94) | def clean_dir(d: Path, args: argparse.Namespace) -> None: function _prompt_dir (line 125) | def _prompt_dir( function check_open_config (line 151) | def check_open_config(d: Path) -> dict: function main (line 186) | def main(args): FILE: cryodrgn/commands_utils/concat_pkls.py function add_args (line 11) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 16) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/filter_cs.py function add_args (line 18) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 30) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/filter_mrcs.py function add_args (line 20) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 28) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/filter_pkl.py function add_args (line 20) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 37) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/filter_star.py function add_args (line 21) | def add_args(parser: argparse.ArgumentParser): function main (line 41) | def main(args: argparse.Namespace): FILE: cryodrgn/commands_utils/flip_hand.py function add_args (line 20) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 27) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/fsc.py function add_args (line 54) | def add_args(parser: argparse.ArgumentParser) -> None: function get_fftn_center_dists (line 104) | def get_fftn_center_dists(box_size: int) -> np.array: function calculate_fsc (line 116) | def calculate_fsc( function get_fsc_curve (line 131) | def get_fsc_curve( function get_fsc_thresholds (line 165) | def get_fsc_thresholds( function randomize_phase (line 191) | def randomize_phase(cval: complex) -> complex: function correct_fsc (line 199) | def correct_fsc( function calculate_cryosparc_fscs (line 260) | def calculate_cryosparc_fscs( function main (line 361) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/gen_mask.py function add_args (line 22) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 61) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/invert_contrast.py function add_args (line 20) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 27) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/make_movies.py function generate_movie_prologue (line 25) | def generate_movie_prologue(width: int, height: int) -> list[str]: function generate_movie_epilogue (line 33) | def generate_movie_epilogue( function add_args (line 59) | def add_args(parser: argparse.ArgumentParser) -> None: function check_chimerax_installation (line 119) | def check_chimerax_installation() -> bool: function find_subdirs (line 142) | def find_subdirs(directory: str, keyword: str) -> list[Path]: function get_vols (line 154) | def get_vols(directory: Path, postfix_regex: str = "") -> list[str]: function record_movie (line 161) | def record_movie( function latent_movies (line 200) | def latent_movies( function landscape_movies (line 222) | def landscape_movies( function main (line 253) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/parse_relion.py function add_args (line 16) | def add_args(parser: argparse.ArgumentParser) -> None: class Tomogram (line 38) | class Tomogram: method __init__ (line 45) | def __init__( method _translation_matrix (line 73) | def _translation_matrix(self, shift_3d): method _rotation_matrix (line 79) | def _rotation_matrix(self, axis: list[float], angle_deg: float) -> np.... method _build_projection_matrices (line 88) | def _build_projection_matrices(self): method project_point (line 131) | def project_point(self, point_3d, i_tilt): method calculate_local_defocus_uv (line 145) | def calculate_local_defocus_uv(self, i_tilt, point_3d): method expand_particle_to_2drows (line 170) | def expand_particle_to_2drows( function main (line 247) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/phase_flip.py function add_args (line 15) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 26) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/plot_classes.py function add_args (line 53) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 100) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/plot_fsc.py function add_args (line 26) | def add_args(parser: argparse.ArgumentParser) -> None: function plot_fsc_vals (line 50) | def plot_fsc_vals(fsc_arr: pd.DataFrame, label: str, **plot_args) -> None: function create_fsc_plot (line 66) | def create_fsc_plot( function main (line 139) | def main(args): FILE: cryodrgn/commands_utils/select_clusters.py function add_args (line 11) | def add_args(parser): function main (line 28) | def main(args): FILE: cryodrgn/commands_utils/select_random.py function add_args (line 17) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 30) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/translate_mrcs.py function add_args (line 19) | def add_args(parser: argparse.ArgumentParser) -> None: function plot_projections (line 38) | def plot_projections(out_png: str, imgs: np.ndarray) -> None: function main (line 47) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/view_cs_header.py function add_args (line 8) | def add_args(parser): function main (line 13) | def main(args): FILE: cryodrgn/commands_utils/view_header.py function add_args (line 11) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 15) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/view_mrcs.py function add_args (line 14) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 32) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/write_cs.py function add_args (line 18) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 36) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/commands_utils/write_star.py function add_args (line 54) | def add_args(parser: argparse.ArgumentParser) -> None: function main (line 83) | def main(args: argparse.Namespace) -> None: FILE: cryodrgn/config.py function load (line 10) | def load(config: Union[str, dict]) -> dict: function save (line 26) | def save( function update_config_v1 (line 47) | def update_config_v1(config: Union[str, dict]) -> dict: FILE: cryodrgn/ctf.py function compute_ctf (line 59) | def compute_ctf( function print_ctf_params (line 113) | def print_ctf_params(params: np.ndarray) -> None: function plot_ctf (line 126) | def plot_ctf(D: int, Apix: float, ctf_params: np.ndarray) -> None: function load_ctf_for_training (line 144) | def load_ctf_for_training(D: int, ctf_params_pkl: str) -> np.ndarray: FILE: cryodrgn/dashboard/app.py function _request_json_dict (line 116) | def _request_json_dict() -> dict: function _filter_ui_scatter_max_points (line 122) | def _filter_ui_scatter_max_points() -> int: function _default_xy_cols (line 131) | def _default_xy_cols(cols: list[str]) -> tuple[str, str]: function _covariate_display_name (line 138) | def _covariate_display_name(name: str) -> str: function _parse_preselect_rows_param (line 145) | def _parse_preselect_rows_param(raw: str | None) -> tuple[list[int] | No... function _redirect (line 156) | def _redirect(endpoint: str): function _trajectory_eligibility_error (line 160) | def _trajectory_eligibility_error(e: DashboardExperiment): function _parse_pairplot_request (line 167) | def _parse_pairplot_request( function _add_direct_anchor_pidx (line 198) | def _add_direct_anchor_pidx(payload: dict, p: dict, z_traj: np.ndarray) ... function index (line 216) | def index(): function command_builder_page (line 235) | def command_builder_page(): function abinit_builder_redirect (line 245) | def abinit_builder_redirect(): function filter_page_redirect (line 249) | def filter_page_redirect(): function api_save_selection (line 253) | def api_save_selection(): function explorer (line 305) | def explorer(): function api_explorer_volume_media (line 338) | def api_explorer_volume_media(): function api_scatter (line 407) | def api_scatter(): function latent_3d_page (line 454) | def latent_3d_page(): function api_scatter3d_z (line 474) | def api_scatter3d_z(): function api_latent3d_preview_png (line 499) | def api_latent3d_preview_png(): function api_preview_montage (line 532) | def api_preview_montage(): function api_preload_images (line 545) | def api_preload_images(): function pairplot_page (line 645) | def pairplot_page(): function api_pairplot (line 682) | def api_pairplot(): function api_save_pairplot_png (line 709) | def api_save_pairplot_png(): function api_default_trajectory_endpoints (line 749) | def api_default_trajectory_endpoints(): function trajectory_creator_page (line 767) | def trajectory_creator_page(): function api_trajectory_save_zpath (line 797) | def api_trajectory_save_zpath(): function api_trajectory_save_volumes (line 832) | def api_trajectory_save_volumes(): function _trajectory_anchor_driven_json (line 858) | def _trajectory_anchor_driven_json( function api_trajectory_import_anchors (line 878) | def api_trajectory_import_anchors(): function api_list_server_files (line 905) | def api_list_server_files(): function api_trajectory_kmeans_centers (line 931) | def api_trajectory_kmeans_centers(): function api_trajectory_random_indices (line 948) | def api_trajectory_random_indices(): function api_trajectory_coords (line 965) | def api_trajectory_coords(): function api_trajectory_volumes (line 996) | def api_trajectory_volumes(): function create_app (line 1074) | def create_app( function run_server (line 1132) | def run_server( FILE: cryodrgn/dashboard/bench_plot_interfaces.py function main (line 20) | def main() -> int: FILE: cryodrgn/dashboard/command_builder_cli_help.py function _string_from_ast (line 14) | def _string_from_ast(node: ast.expr | None) -> str | None: function _flags_and_positional_from_add_argument (line 36) | def _flags_and_positional_from_add_argument( function _help_from_add_argument (line 57) | def _help_from_add_argument(call: ast.Call) -> str | None: function help_map_from_command_py (line 64) | def help_map_from_command_py(path: Path) -> dict[str, str]: function attach_help_to_groups (line 87) | def attach_help_to_groups( function load_cli_help_maps (line 107) | def load_cli_help_maps() -> dict[str, dict[str, str]]: FILE: cryodrgn/dashboard/command_builder_data.py function _g (line 32) | def _g(title: str, args: list[Arg]) -> Group: function _required_field_titles (line 925) | def _required_field_titles( function _build_required_field_titles (line 940) | def _build_required_field_titles() -> dict[str, str]: FILE: cryodrgn/dashboard/context.py function clear_experiment_caches (line 37) | def clear_experiment_caches() -> None: function _config_has_cryodrgn_cmd (line 83) | def _config_has_cryodrgn_cmd(config: object) -> bool: function discover_cryodrgn_workdirs (line 94) | def discover_cryodrgn_workdirs(cwd: str) -> list[str]: function _workdir_options (line 116) | def _workdir_options(abs_paths: list[str], base_cwd: str) -> list[dict[s... function _sync_discovery_session_boot (line 132) | def _sync_discovery_session_boot() -> None: function active_workdir (line 149) | def active_workdir(app: Flask) -> str | None: function epochs_for_workdir (line 160) | def epochs_for_workdir(workdir: str) -> list[int]: function resolve_epoch (line 169) | def resolve_epoch(app: Flask) -> int: function get_dashboard_exp (line 188) | def get_dashboard_exp(app: Flask) -> DashboardExperiment: function bind_dashboard_exp (line 200) | def bind_dashboard_exp() -> None: function _request_json_dict (line 216) | def _request_json_dict() -> dict: function api_set_epoch (line 221) | def api_set_epoch(): function api_set_workdir (line 240) | def api_set_workdir(): function abbrev_middle (line 278) | def abbrev_middle(text: object, maxlen: int = 30) -> str: function _cmd_argv_for_nav_display (line 291) | def _cmd_argv_for_nav_display(cmd_parts: list[str]) -> list[str]: function _abbrev_middle_token (line 310) | def _abbrev_middle_token(text: str, maxlen: int = 120) -> str: function _argv_four_command_lines (line 322) | def _argv_four_command_lines(argv: list[str]) -> list[str]: function command_builder_template_kwargs (line 400) | def command_builder_template_kwargs( function inject_meta (line 449) | def inject_meta() -> dict: function inject_meta_command_builder_only (line 489) | def inject_meta_command_builder_only() -> dict: FILE: cryodrgn/dashboard/data.py function list_z_epochs (line 19) | def list_z_epochs(workdir: str) -> list[int]: class DashboardExperiment (line 35) | class DashboardExperiment: method numeric_columns (line 56) | def numeric_columns(self) -> list[str]: method can_preview_particles (line 65) | def can_preview_particles(self) -> bool: function load_experiment (line 69) | def load_experiment( function particle_image_array (line 204) | def particle_image_array(exp: DashboardExperiment, row_index: int) -> np... FILE: cryodrgn/dashboard/explorer_volumes.py function _vol_cache_evict_unlocked (line 30) | def _vol_cache_evict_unlocked(token: str) -> None: function _vol_cache_prune_unlocked (line 36) | def _vol_cache_prune_unlocked() -> None: function _register_vol_mrc_cache (line 50) | def _register_vol_mrc_cache( function volume_cell_gif_from_cache (line 65) | def volume_cell_gif_from_cache( function save_cached_volumes_to_dir (line 101) | def save_cached_volumes_to_dir( function torch_cuda_available (line 137) | def torch_cuda_available() -> bool: function chimerax_path (line 146) | def chimerax_path() -> str: function run_chimerax_cmds (line 156) | def run_chimerax_cmds( function explorer_volumes_eligible (line 176) | def explorer_volumes_eligible(exp: DashboardExperiment) -> bool: function _config_yaml_path (line 186) | def _config_yaml_path(workdir: str) -> str: function _is_drgnai_config (line 196) | def _is_drgnai_config(train_configs: dict) -> bool: function _decode_z_values_classic (line 200) | def _decode_z_values_classic( function _drgnai_volume_generator (line 225) | def _drgnai_volume_generator(exp: DashboardExperiment): function _decode_z_values_drgnai (line 270) | def _decode_z_values_drgnai( function _sorted_vol_mrc_paths (line 281) | def _sorted_vol_mrc_paths(mrc_dir: str, n_take: int) -> list[str]: function _mpl_retrim_png (line 296) | def _mpl_retrim_png(out_png: str, dpi: int) -> None: function _chimerax_render_cmds (line 310) | def _chimerax_render_cmds( function mrc_to_static_png (line 328) | def mrc_to_static_png(mrc_path: str, out_png: str, dpi: int = 100) -> None: function mrc_to_rotating_gif (line 335) | def mrc_to_rotating_gif( function _decode_z_values_to_vol_paths (line 387) | def _decode_z_values_to_vol_paths( function generate_trajectory_volume_pngs (line 397) | def generate_trajectory_volume_pngs( function generate_montage_volume_pngs (line 430) | def generate_montage_volume_pngs( FILE: cryodrgn/dashboard/mpl_style.py function ezlab_matplotlib_rc (line 21) | def ezlab_matplotlib_rc(): FILE: cryodrgn/dashboard/plots.py function _lower_color_series_is_discrete (line 35) | def _lower_color_series_is_discrete(s: pd.Series) -> bool: function normalize_continuous_palette (line 76) | def normalize_continuous_palette(raw: str | None) -> str: function mpl_cmap_for_palette (line 87) | def mpl_cmap_for_palette(plotly_palette: str) -> str: function _subsample (line 118) | def _subsample( function _axes_cell_bboxes (line 139) | def _axes_cell_bboxes(axes: np.ndarray) -> list[dict[str, float]]: function _plotly_to_json (line 157) | def _plotly_to_json(fig: go.Figure) -> str: function _labels_colors_and_legend_items (line 164) | def _labels_colors_and_legend_items( function _continuous_series_stats (line 192) | def _continuous_series_stats(values: pd.Series) -> tuple[np.ndarray, flo... function pair_grid_skeleton_placeholder_layout (line 213) | def pair_grid_skeleton_placeholder_layout( function _pair_jointplot_hex_cmap (line 239) | def _pair_jointplot_hex_cmap(color: str | None = None): function _pair_jointplot_hex_gridsize (line 248) | def _pair_jointplot_hex_gridsize(x: np.ndarray, y: np.ndarray) -> int: function _refine_pair_grid_right_margin (line 255) | def _refine_pair_grid_right_margin( function _pair_lower_triangle_pictogram_da (line 298) | def _pair_lower_triangle_pictogram_da(px: float = 28.0) -> DrawingArea: function _lower_legend_covariate_title (line 330) | def _lower_legend_covariate_title( function _lower_legend_entry_label (line 338) | def _lower_legend_entry_label(lower_color_col: str, u: Any) -> str: function _draw_pair_grid_edge_labels (line 361) | def _draw_pair_grid_edge_labels( function _draw_pair_grid_diagonal_legends (line 424) | def _draw_pair_grid_diagonal_legends( function _attach_pair_lower_legend_caption (line 489) | def _attach_pair_lower_legend_caption( function scatter_json (line 523) | def scatter_json( function scatter3d_z_json (line 627) | def scatter3d_z_json( function scatter3d_z_preview_png (line 718) | def scatter3d_z_preview_png( function pair_grid_png (line 818) | def pair_grid_png( FILE: cryodrgn/dashboard/preload.py function encode_particle_batch (line 25) | def encode_particle_batch( function montage_bytes (line 61) | def montage_bytes(exp: DashboardExperiment, row_indices: list[int]) -> b... function particle_thumbnail_b64_from_row (line 100) | def particle_thumbnail_b64_from_row( function _stratified_xy_row_indices (line 129) | def _stratified_xy_row_indices( function sample_plot_df_rows_for_preload (line 180) | def sample_plot_df_rows_for_preload( function _preload_cache_time_estimate_bounds (line 215) | def _preload_cache_time_estimate_bounds(cpus: int) -> tuple[int, int]: function format_preload_cache_time_hint (line 228) | def format_preload_cache_time_hint(cpus: int) -> str: function load_plot_df_rows_from_plot_inds_file (line 236) | def load_plot_df_rows_from_plot_inds_file( FILE: cryodrgn/dashboard/trajectory.py function has_umap_columns (line 31) | def has_umap_columns(exp: DashboardExperiment) -> bool: function has_pc_columns (line 39) | def has_pc_columns(exp: DashboardExperiment) -> bool: function trajectory_default_xy_cols (line 43) | def trajectory_default_xy_cols(cols: list[str], zdim: int) -> tuple[str,... function trajectory_plot_axis_columns (line 56) | def trajectory_plot_axis_columns(e: DashboardExperiment) -> list[str]: function _trajectory_xy_ok_for_direct (line 82) | def _trajectory_xy_ok_for_direct(xcol: str, ycol: str) -> bool: function validate_trajectory_plot_axes (line 91) | def validate_trajectory_plot_axes(e: DashboardExperiment, xcol: str, yco... function trajectory_axes_from_payload (line 99) | def trajectory_axes_from_payload(e: DashboardExperiment, data: dict) -> ... function parse_int_from_dict (line 113) | def parse_int_from_dict(data: dict, key: str, *, default: int, lo: int, ... function parse_traj_points_value (line 122) | def parse_traj_points_value(data: dict, default: int = 4) -> int: function parse_traj_interpolation_value (line 127) | def parse_traj_interpolation_value( function parse_traj_neighbor_value (line 134) | def parse_traj_neighbor_value(data: dict, key: str, default: int) -> int: function trajectory_anchor_mode_params (line 139) | def trajectory_anchor_mode_params(data: dict) -> tuple[str, int, int, int]: function z_traj_to_savetxt_str (line 155) | def z_traj_to_savetxt_str(z_traj: np.ndarray) -> str: function _round_direct_mode_traj_xy (line 162) | def _round_direct_mode_traj_xy(traj_xy: np.ndarray) -> np.ndarray: function parse_anchor_indices_txt (line 175) | def parse_anchor_indices_txt(raw: bytes) -> list[int]: function _plot_row_particle_index (line 194) | def _plot_row_particle_index(exp: DashboardExperiment, row_index: int) -... function _compute_trajectory_from_anchor_indices (line 206) | def _compute_trajectory_from_anchor_indices( function _compute_direct_anchor_trajectory (line 229) | def _compute_direct_anchor_trajectory( function _graph_neighbor_arrays (line 261) | def _graph_neighbor_arrays( function _dijkstra_path_from_neighbors (line 305) | def _dijkstra_path_from_neighbors( function _compute_graph_anchor_trajectory (line 352) | def _compute_graph_anchor_trajectory( function parse_trajectory_request_body (line 390) | def parse_trajectory_request_body(e: DashboardExperiment, data: dict) ->... function compute_trajectory_latent_path (line 477) | def compute_trajectory_latent_path( function trajectory_shared_json_payload (line 541) | def trajectory_shared_json_payload( function direct_anchor_particle_indices_payload (line 570) | def direct_anchor_particle_indices_payload( function trajectory_anchor_payload_from_indices (line 596) | def trajectory_anchor_payload_from_indices( function kmeans_centers_ind_path (line 659) | def kmeans_centers_ind_path(e: DashboardExperiment) -> str: function load_kmeans_center_indices (line 668) | def load_kmeans_center_indices(e: DashboardExperiment) -> list[int]: function random_dataset_indices (line 682) | def random_dataset_indices(e: DashboardExperiment, k: int = 10) -> list[... function plot_df_rows_for_dataset_indices (line 691) | def plot_df_rows_for_dataset_indices( function default_trajectory_endpoints_xy (line 702) | def default_trajectory_endpoints_xy( FILE: cryodrgn/dataset.py class ImageDataset (line 31) | class ImageDataset(torch.utils.data.Dataset): method __init__ (line 32) | def __init__( method estimate_normalization (line 79) | def estimate_normalization(self, n=1000): method estimate_normalization_real (line 93) | def estimate_normalization_real(self, n=1000): method _process (line 102) | def _process(self, data): method __len__ (line 121) | def __len__(self): method __getitem__ (line 124) | def __getitem__(self, index): method get_slice (line 152) | def get_slice( class TiltSeriesData (line 161) | class TiltSeriesData(ImageDataset): method __init__ (line 166) | def __init__( method __len__ (line 234) | def __len__(self): method __getitem__ (line 237) | def __getitem__(self, index) -> dict[str, torch.Tensor]: method parse_particle_tilt (line 265) | def parse_particle_tilt( method particles_to_tilts (line 296) | def particles_to_tilts( method tilts_to_particles (line 305) | def tilts_to_particles(cls, tilts_to_particles, tilts): method get_tilt (line 310) | def get_tilt(self, index): method get_tilt_particle (line 313) | def get_tilt_particle(self, index) -> int: method get_slice (line 321) | def get_slice(self, start: int, stop: int) -> Tuple[np.ndarray, np.nda... method critical_exposure (line 345) | def critical_exposure(self, freq): method get_dose_filters (line 362) | def get_dose_filters(self, tilt_index, lattice, Apix): method optimal_exposure (line 388) | def optimal_exposure(self, freq): class DataShuffler (line 392) | class DataShuffler: method __init__ (line 393) | def __init__( method __iter__ (line 421) | def __iter__(self): class _DataShufflerIterator (line 425) | class _DataShufflerIterator: method __init__ (line 426) | def __init__(self, shuffler: DataShuffler): method _get_next_chunk (line 464) | def _get_next_chunk(self) -> Tuple[np.ndarray, Optional[np.ndarray], n... method __iter__ (line 482) | def __iter__(self): method __next__ (line 485) | def __next__(self) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: function make_dataloader (line 554) | def make_dataloader( FILE: cryodrgn/fft.py function normalize (line 12) | def normalize( function fft2_center (line 31) | def fft2_center(img: torch.Tensor) -> torch.Tensor: function fftn_center (line 39) | def fftn_center(img: torch.Tensor) -> torch.Tensor: function ifftn_center (line 44) | def ifftn_center(img: torch.Tensor) -> torch.Tensor: function ht2_center (line 49) | def ht2_center(img: torch.Tensor) -> torch.Tensor: function htn_center (line 55) | def htn_center(img: torch.Tensor) -> torch.Tensor: function iht2_center (line 61) | def iht2_center(img: torch.Tensor) -> torch.Tensor: function ihtn_center (line 68) | def ihtn_center(img: torch.Tensor) -> torch.Tensor: function symmetrize_ht (line 75) | def symmetrize_ht(ht: torch.Tensor) -> torch.Tensor: FILE: cryodrgn/lattice.py class Lattice (line 20) | class Lattice: method __init__ (line 21) | def __init__( method get_downsample_coords (line 50) | def get_downsample_coords(self, d: int) -> Tensor: method get_square_lattice (line 62) | def get_square_lattice(self, L: int) -> Tensor: method get_square_mask (line 69) | def get_square_mask(self, side_length: int) -> Tensor: method get_circular_mask (line 100) | def get_circular_mask(self, radius: float, verbose: bool = False) -> T... method rotate (line 125) | def rotate(self, images: Tensor, theta: Tensor) -> Tensor: method translate_ft (line 142) | def translate_ft(self, img, t, mask=None): method translate_ht (line 168) | def translate_ht(self, img, t, mask=None): class EvenLattice (line 193) | class EvenLattice(Lattice): method __init__ (line 196) | def __init__( method get_downsampled_coords (line 230) | def get_downsampled_coords(self, d): FILE: cryodrgn/lie_tools.py function map_to_lie_algebra (line 12) | def map_to_lie_algebra(v): function map_to_lie_vector (line 37) | def map_to_lie_vector(X): function expmap (line 45) | def expmap(v): function logmap (line 59) | def logmap(R): function s2s1rodrigues (line 65) | def s2s1rodrigues(s2_el, s1_el): function s2s2_to_SO3 (line 78) | def s2s2_to_SO3(v1, v2=None): function SO3_to_s2s2 (line 93) | def SO3_to_s2s2(r): function SO3_to_quaternions (line 99) | def SO3_to_quaternions(r): function rotmat_to_s2s2 (line 163) | def rotmat_to_s2s2(rotmat): function s2s2_to_rotmat (line 172) | def s2s2_to_rotmat(s2s2): function quaternions_to_SO3 (line 191) | def quaternions_to_SO3(q): function random_quaternions (line 212) | def random_quaternions(n, dtype=torch.float32, device=None): function random_rotmat (line 225) | def random_rotmat(n, dtype=torch.float32, device=None): function logsumexp (line 229) | def logsumexp(inputs, dim=None, keepdim=False): function so3_entropy_old (line 254) | def so3_entropy_old(w_eps, std, k=10): function so3_entropy (line 279) | def so3_entropy(w_eps, std, k=10): FILE: cryodrgn/losses.py class EquivarianceLoss (line 10) | class EquivarianceLoss(nn.Module): method __init__ (line 13) | def __init__(self, model, D): method forward (line 18) | def forward(self, img, encoding): method rotate (line 29) | def rotate(self, img, theta): function l2_frequency_bias (line 42) | def l2_frequency_bias( function kl_divergence_conf (line 57) | def kl_divergence_conf(latent_variables_dict: dict[str, torch.Tensor]) -... function l1_regularizer (line 65) | def l1_regularizer(x: torch.Tensor) -> torch.Tensor: FILE: cryodrgn/masking.py function spherical_window_mask (line 13) | def spherical_window_mask( function cosine_dilation_mask (line 73) | def cosine_dilation_mask( class CircularMask (line 133) | class CircularMask: method __init__ (line 136) | def __init__(self, lattice: Lattice, radius: int) -> None: method update_radius (line 141) | def update_radius(self, radius: int) -> None: method update_batch (line 145) | def update_batch(self, total_images_count: int) -> None: method update_epoch (line 148) | def update_epoch(self, n_frequencies: int) -> None: method get_lf_submask (line 151) | def get_lf_submask(self) -> torch.Tensor: method get_hf_submask (line 156) | def get_hf_submask(self) -> torch.Tensor: class FrequencyMarchingMask (line 160) | class FrequencyMarchingMask(CircularMask): method __init__ (line 163) | def __init__( method update_batch (line 175) | def update_batch(self, total_images_count) -> None: method update_epoch (line 184) | def update_epoch(self, n_frequencies: int) -> None: method reset (line 187) | def reset(self) -> None: class FrequencyMarchingExpMask (line 191) | class FrequencyMarchingExpMask(FrequencyMarchingMask): method __init__ (line 192) | def __init__( method update_batch (line 203) | def update_batch(self, total_images_count: int) -> None: FILE: cryodrgn/metrics.py function get_ref_matrix (line 13) | def get_ref_matrix(r1, r2, i, flip=False): function _flip (line 20) | def _flip(rot): function align_rot (line 25) | def align_rot(r1, r2, i, flip=False): function rigid_transform_3d (line 32) | def rigid_transform_3d(a, b): function align_view_dir (line 51) | def align_view_dir(rot_gt_tensor, rot_pred_tensor): function align_rot_best (line 82) | def align_rot_best(rot_gt_tensor, rot_pred_tensor, n_tries=100): function frob_norm (line 125) | def frob_norm(r1, r2): function get_angular_error (line 135) | def get_angular_error(rot_gt, rot_pred): function get_trans_metrics (line 161) | def get_trans_metrics(trans_gt, trans_pred, rotmat, correct_global_trans... FILE: cryodrgn/models.py function unparallelize (line 18) | def unparallelize(model: nn.Module) -> nn.Module: class HetOnlyVAE (line 26) | class HetOnlyVAE(nn.Module): method __init__ (line 28) | def __init__( method load (line 93) | def load(cls, config, weights=None, device=None): method reparameterize (line 141) | def reparameterize(self, mu, logvar): method encode (line 148) | def encode(self, *img) -> Tuple[Tensor, Tensor]: method cat_z (line 155) | def cat_z(self, coords, z) -> Tensor: method decode (line 165) | def decode(self, coords, z=None) -> torch.Tensor: method forward (line 176) | def forward(self, *args, **kwargs): class Decoder (line 180) | class Decoder(nn.Module): method eval_volume (line 181) | def eval_volume( method get_voxel_decoder (line 200) | def get_voxel_decoder(self) -> Optional["Decoder"]: class DataParallelDecoder (line 204) | class DataParallelDecoder(Decoder): method __init__ (line 205) | def __init__(self, decoder: Decoder): method eval_volume (line 209) | def eval_volume(self, *args, **kwargs): method forward (line 214) | def forward(self, *args, **kwargs): method state_dict (line 217) | def state_dict(self, *args, **kwargs): function load_decoder (line 221) | def load_decoder(config, weights=None, device=None) -> Tuple[Decoder, La... class PositionalDecoder (line 260) | class PositionalDecoder(Decoder): method __init__ (line 261) | def __init__( method positional_encoding_geom (line 298) | def positional_encoding_geom(self, coords): method random_fourier_encoding (line 337) | def random_fourier_encoding(self, coords): method positional_encoding_linear (line 355) | def positional_encoding_linear(self, coords): method forward (line 370) | def forward(self, coords: Tensor) -> Tensor: method eval_volume (line 375) | def eval_volume( class FTPositionalDecoder (line 421) | class FTPositionalDecoder(Decoder): method __init__ (line 422) | def __init__( method positional_encoding_geom (line 459) | def positional_encoding_geom(self, coords: Tensor) -> Tensor: method random_fourier_encoding (line 498) | def random_fourier_encoding(self, coords): method positional_encoding_linear (line 516) | def positional_encoding_linear(self, coords: Tensor) -> Tensor: method forward (line 531) | def forward(self, lattice: Tensor) -> Tensor: method decode (line 554) | def decode(self, lattice: Tensor): method eval_volume (line 567) | def eval_volume( class FTSliceDecoder (line 620) | class FTSliceDecoder(Decoder): method __init__ (line 629) | def __init__(self, in_dim: int, D: int, nlayers: int, hidden_dim: int,... method forward (line 658) | def forward(self, lattice): method forward_even (line 682) | def forward_even(self, lattice): method decode (line 693) | def decode(self, lattice): method eval_volume (line 706) | def eval_volume( function get_decoder (line 754) | def get_decoder( class VAE (line 785) | class VAE(nn.Module): method __init__ (line 786) | def __init__( method reparameterize (line 835) | def reparameterize(self, mu: Tensor, logvar: Tensor) -> Tensor: method encode (line 842) | def encode(self, img) -> Tuple[Tensor, Tensor, Optional[Tensor], Optio... method eval_volume (line 856) | def eval_volume(self, norm) -> Tensor: method decode (line 861) | def decode(self, rot): method forward (line 868) | def forward(self, img: Tensor): class TiltVAE (line 884) | class TiltVAE(nn.Module): method __init__ (line 885) | def __init__( method reparameterize (line 904) | def reparameterize(self, mu, logvar): method eval_volume (line 911) | def eval_volume(self, norm) -> Tensor: method encode (line 916) | def encode(self, img, img_tilt): method forward (line 935) | def forward(self, img, img_tilt): class TiltEncoder (line 959) | class TiltEncoder(nn.Module): method __init__ (line 960) | def __init__( method forward (line 980) | def forward(self, x): class ResidLinearMLP (line 986) | class ResidLinearMLP(Decoder): method __init__ (line 987) | def __init__( method forward (line 1014) | def forward(self, x): method eval_volume (line 1020) | def eval_volume( function half_linear (line 1060) | def half_linear(input, weight, bias): function single_linear (line 1065) | def single_linear(input, weight, bias): class MyLinear (line 1072) | class MyLinear(nn.Linear): method forward (line 1073) | def forward(self, input): class ResidLinear (line 1084) | class ResidLinear(nn.Module): method __init__ (line 1085) | def __init__(self, nin, nout): method forward (line 1090) | def forward(self, x): class MLP (line 1095) | class MLP(nn.Module): method __init__ (line 1096) | def __init__( method forward (line 1112) | def forward(self, x): class ConvEncoder (line 1117) | class ConvEncoder(nn.Module): method __init__ (line 1118) | def __init__(self, hidden_dim, out_dim): method forward (line 1142) | def forward(self, x): class SO3reparameterize (line 1148) | class SO3reparameterize(nn.Module): method __init__ (line 1151) | def __init__(self, input_dims, nlayers: int, hidden_dim: int): method sampleSO3 (line 1162) | def sampleSO3( method forward (line 1180) | def forward(self, x) -> Tuple[torch.Tensor, torch.Tensor]: FILE: cryodrgn/models_ai.py class MyDataParallel (line 17) | class MyDataParallel(nn.DataParallel): method __getattr__ (line 18) | def __getattr__(self, name): class DrgnAI (line 25) | class DrgnAI(nn.Module): method __init__ (line 26) | def __init__( method update_trans_search_factor (line 190) | def update_trans_search_factor(self, ratio): method forward (line 194) | def forward(self, in_dict): method process_y_real (line 258) | def process_y_real(in_dict): method encode (line 262) | def encode(self, in_dict, ctf=None): method decode (line 357) | def decode(self, latent_variables_dict, ctf_local, y_gt): method eval_on_slice (line 418) | def eval_on_slice(self, x, z=None): method apply_ctf (line 434) | def apply_ctf(self, y_pred, ctf_local): method eval_volume (line 447) | def eval_volume(self, norm, zval=None): method load (line 462) | def load(cls, config, weights=None, device=None): function sample_conf (line 477) | def sample_conf(z_mu, z_logvar): function eval_volume_method (line 492) | def eval_volume_method(hypervolume, lattice, z_dim, norm, zval=None, rad... class SharedCNN (line 534) | class SharedCNN(nn.Module): method __init__ (line 535) | def __init__( method forward (line 617) | def forward(self, y_real): class RadialAverager (line 661) | class RadialAverager(nn.Module): method __init__ (line 662) | def __init__(self): method forward (line 666) | def forward(y_real): class AddCoords (line 688) | class AddCoords(nn.Module): method __init__ (line 689) | def __init__(self, resolution, radius_channel=True): method forward (line 734) | def forward(self, x): class ConfTable (line 753) | class ConfTable(nn.Module): method __init__ (line 754) | def __init__(self, n_imgs, z_dim, variational, std_z_init): method initialize (line 770) | def initialize(self, conf): method forward (line 778) | def forward(self, in_dict): method reset (line 799) | def reset(self): class PoseTable (line 805) | class PoseTable(nn.Module): method __init__ (line 806) | def __init__(self, n_imgs, no_trans, resolution, use_gt_trans): method initialize (line 827) | def initialize(self, rots, trans): method forward (line 840) | def forward(self, in_dict): class ConfRegressor (line 869) | class ConfRegressor(nn.Module): method __init__ (line 870) | def __init__(self, channels, kernel_size, z_dim, std_z_init, variation... method forward (line 889) | def forward(self, shared_features): class HyperVolume (line 913) | class HyperVolume(nn.Module): method __init__ (line 914) | def __init__( method forward (line 973) | def forward(self, x, z): method random_fourier_encoding (line 1003) | def random_fourier_encoding(self, x): method geom_fourier_encoding_conf (line 1017) | def geom_fourier_encoding_conf(self, z): method get_building_params (line 1029) | def get_building_params(self): class VolumeExplicit (line 1044) | class VolumeExplicit(nn.Module): method __init__ (line 1045) | def __init__(self, resolution, domain, extent): method forward (line 1063) | def forward(self, x, z): method get_building_params (line 1084) | def get_building_params(self): class GaussianPyramid (line 1094) | class GaussianPyramid(nn.Module): method __init__ (line 1095) | def __init__(self, n_layers): method forward (line 1122) | def forward(self, x): class ResidualLinearMLP (line 1131) | class ResidualLinearMLP(nn.Module): method __init__ (line 1132) | def __init__(self, in_dim, n_layers, hidden_dim, out_dim, nl=nn.ReLU): method forward (line 1150) | def forward(self, x): class ResidualLinear (line 1162) | class ResidualLinear(nn.Module): method __init__ (line 1163) | def __init__(self, n_in, n_out): method forward (line 1167) | def forward(self, x): class MyLinear (line 1172) | class MyLinear(nn.Linear): method forward (line 1173) | def forward(self, x): function half_linear (line 1180) | def half_linear(x, weight, bias): function single_linear (line 1184) | def single_linear(x, weight, bias): FILE: cryodrgn/mrcfile.py class MRCHeader (line 24) | class MRCHeader: method __init__ (line 109) | def __init__(self, header_values, extended_header=b""): method __str__ (line 123) | def __str__(self): method parse (line 127) | def parse(cls, fname: str) -> Self: method make_default_header (line 146) | def make_default_header( method write (line 251) | def write(self, fh): method apix (line 258) | def apix(self) -> float: method apix (line 262) | def apix(self, value: float) -> None: method origin (line 268) | def origin(self) -> tuple[float, float, float]: method origin (line 272) | def origin(self, value: tuple[float, float, float]) -> None: function parse_mrc (line 278) | def parse_mrc(fname: str) -> Tuple[np.ndarray, MRCHeader]: function get_mrc_header (line 296) | def get_mrc_header( function fix_mrc_header (line 316) | def fix_mrc_header(header: MRCHeader) -> MRCHeader: function write_mrc (line 330) | def write_mrc( FILE: cryodrgn/pose.py class PoseTracker (line 15) | class PoseTracker(nn.Module): method __init__ (line 16) | def __init__( method load (line 58) | def load( method save (line 139) | def save(self, out_pkl: str) -> None: method get_pose (line 161) | def get_pose(self, ind: Union[int, Tensor]) -> Tuple[Tensor, Optional[... FILE: cryodrgn/pose_search.py function rot_2d (line 14) | def rot_2d(angle: float, outD: int, device: torch.device) -> torch.Tensor: function to_tensor (line 23) | def to_tensor(x: Union[np.ndarray, torch.Tensor, None]): function interpolate (line 29) | def interpolate(img: torch.Tensor, coords: torch.Tensor) -> torch.Tensor: class PoseSearch (line 52) | class PoseSearch: method __init__ (line 55) | def __init__( method eval_grid (line 108) | def eval_grid( method mask_images (line 194) | def mask_images(self, images, L): method translate_images (line 203) | def translate_images( method rotate_images (line 218) | def rotate_images( method get_neighbor_so3 (line 248) | def get_neighbor_so3(self, quat: np.ndarray, s2i: int, s1i: int, res: ... method get_neighbor_shift (line 256) | def get_neighbor_shift(self, x, y, res): method subdivide (line 266) | def subdivide( method keep_matrix (line 304) | def keep_matrix(self, loss: torch.Tensor, B: int, max_poses: int) -> t... method getL (line 331) | def getL(self, iter_: int) -> int: method opt_theta_trans (line 336) | def opt_theta_trans( FILE: cryodrgn/pose_search_ai.py function get_base_shifts (line 13) | def get_base_shifts(ps_params): function get_base_rot (line 25) | def get_base_rot(ps_params): function get_so3_base_quat (line 30) | def get_so3_base_quat(ps_params): function get_base_inplane (line 34) | def get_base_inplane(ps_params): function to_tensor (line 38) | def to_tensor(x): function get_l (line 44) | def get_l(step, res, ps_params): function translate_images (line 54) | def translate_images(images, shifts, l_current, lattice, freqs2d): function rot_2d (line 68) | def rot_2d(angle, out_d, device): function rot_2d_tensor (line 77) | def rot_2d_tensor(angles, out_d, device): function interpolate (line 86) | def interpolate(img, coords): function rotate_images (line 100) | def rotate_images(images, angles, l_current, masked_coords, lattice): function compute_err (line 131) | def compute_err( function eval_grid (line 246) | def eval_grid( function keep_matrix (line 291) | def keep_matrix(loss, batch_size, max_poses): function get_neighbor_so3 (line 318) | def get_neighbor_so3(quat, q_ind, res, device): function subdivide (line 330) | def subdivide(quat, q_ind, cur_res, device): function opt_trans (line 348) | def opt_trans(model, y_gt, y_pred, lattice, ps_params, current_radius): function opt_theta_trans (line 402) | def opt_theta_trans( FILE: cryodrgn/shift_grid.py function grid_1d (line 4) | def grid_1d(resol: int, extent: int, ngrid: int, shift: int = 0) -> np.n... function grid_2d (line 11) | def grid_2d( function base_shift_grid (line 21) | def base_shift_grid( function get_1d_neighbor (line 30) | def get_1d_neighbor(mini, cur_res, extent, ngrid): function get_base_ind (line 37) | def get_base_ind(ind, ngrid): function get_neighbor (line 43) | def get_neighbor(xi, yi, cur_res, extent, ngrid): FILE: cryodrgn/shift_grid3.py function grid_1d (line 4) | def grid_1d(resol, extent, ngrid): function grid_3d (line 11) | def grid_3d(resol: int, extent: int, ngrid: int) -> np.ndarray: function base_shift_grid (line 19) | def base_shift_grid(extent: int, ngrid: int) -> np.ndarray: function get_1d_neighbor (line 26) | def get_1d_neighbor(mini, curr_res, extent, ngrid): function get_base_id (line 33) | def get_base_id(id_, ngrid): function get_neighbor (line 40) | def get_neighbor(xi, yi, zi, curr_res, extent, ngrid): FILE: cryodrgn/so3_grid.py function grid_s1 (line 12) | def grid_s1(resol): function grid_s2 (line 19) | def grid_s2(resol): function hopf_to_quat (line 26) | def hopf_to_quat(theta, phi, psi): function hopf_to_quat_tensor (line 47) | def hopf_to_quat_tensor(theta, phi, psi): function grid_SO3 (line 71) | def grid_SO3(resol): function s2_grid_SO3 (line 82) | def s2_grid_SO3(resol): function get_s1_neighbor (line 91) | def get_s1_neighbor(mini, curr_res): function get_s1_neighbor_tensor (line 108) | def get_s1_neighbor_tensor(mini, curr_res): function get_s2_neighbor (line 128) | def get_s2_neighbor(mini, cur_res): function get_s2_neighbor_tensor (line 137) | def get_s2_neighbor_tensor(mini, cur_res): function get_base_ind (line 150) | def get_base_ind(ind, base): function get_neighbor (line 160) | def get_neighbor(quat, s2i, s1i, cur_res): function get_neighbor_tensor (line 180) | def get_neighbor_tensor(quat, q_ind, cur_res, device): function pix2ang_tensor (line 232) | def pix2ang_tensor(n_side, i_pix, nest=False, lonlat=False): function pix2ang (line 244) | def pix2ang(Nside, ipix, nest=False, lonlat=False): FILE: cryodrgn/source.py class ImageSource (line 47) | class ImageSource: method __init__ (line 82) | def __init__( method from_file (line 129) | def from_file( method __len__ (line 184) | def __len__(self) -> int: method lazy (line 188) | def lazy(self) -> bool: method __getitem__ (line 192) | def __getitem__(self, item) -> torch.Tensor: method __eq__ (line 195) | def __eq__(self, other): method _convert_to_ndarray (line 198) | def _convert_to_ndarray( method images (line 227) | def images( method _images (line 268) | def _images( method chunks (line 274) | def chunks( method apix (line 292) | def apix(self) -> Union[None, float, np.ndarray]: method write_mrc (line 296) | def write_mrc( method get_default_mrc_header (line 347) | def get_default_mrc_header(self) -> MRCHeader: class MRCFileSource (line 351) | class MRCFileSource(ImageSource): method __init__ (line 354) | def __init__( method _images (line 384) | def _images( method write (line 436) | def write( method apix (line 446) | def apix(self) -> float: class _MRCDataFrameSource (line 450) | class _MRCDataFrameSource(ImageSource): method __init__ (line 465) | def __init__( method _images (line 499) | def _images( method sources (line 531) | def sources(self) -> Iterator[tuple[str, MRCFileSource]]: method parse_filename (line 534) | def parse_filename(self, filename: str) -> str: class CsSource (line 563) | class CsSource(_MRCDataFrameSource): method __init__ (line 566) | def __init__( class TxtFileSource (line 593) | class TxtFileSource(_MRCDataFrameSource): method __init__ (line 601) | def __init__( method write (line 628) | def write(self, output_file: str): class StarfileSource (line 634) | class StarfileSource(_MRCDataFrameSource, Starfile): method __init__ (line 648) | def __init__( FILE: cryodrgn/starfile.py function parse_star (line 30) | def parse_star(starfile: str) -> Tuple[pd.DataFrame, pd.DataFrame]: function write_star (line 93) | def write_star( function _write_star_block (line 112) | def _write_star_block( class Starfile (line 130) | class Starfile: method __init__ (line 151) | def __init__( method load (line 177) | def load(cls, starfile: str) -> Self: method write (line 181) | def write(self, outstar: str) -> None: method relion31 (line 186) | def relion31(self) -> bool: method __len__ (line 190) | def __len__(self) -> int: method __eq__ (line 194) | def __eq__(self, other: Self) -> bool: method get_optics_values (line 202) | def get_optics_values( method set_optics_values (line 230) | def set_optics_values(self, fieldname: str, vals: Union[float, Iterabl... method apix (line 310) | def apix(self) -> Union[None, np.ndarray]: method resolution (line 315) | def resolution(self) -> Union[None, np.ndarray]: method to_relion30 (line 323) | def to_relion30(self) -> pd.DataFrame: FILE: cryodrgn/utils.py function get_igraph_from_adjacency (line 21) | def get_igraph_from_adjacency(adjacency): function meshgrid_2d (line 31) | def meshgrid_2d(lo, hi, n, endpoint=False): class memoized (line 49) | class memoized(object): method __init__ (line 55) | def __init__(self, func): method __call__ (line 59) | def __call__(self, *args): method __repr__ (line 71) | def __repr__(self): method __get__ (line 75) | def __get__(self, obj, objtype): function load_pkl (line 80) | def load_pkl(pkl: str): function save_pkl (line 86) | def save_pkl(data, out_pkl: str, mode: str = "wb") -> None: function load_yaml (line 93) | def load_yaml(yamlfile: str): function save_yaml (line 98) | def save_yaml(data, out_yamlfile: str, mode: str = "w"): function create_basedir (line 105) | def create_basedir(out: str) -> None: function warn_file_exists (line 110) | def warn_file_exists(out: str) -> None: function run_command (line 116) | def run_command(cmd: str) -> tuple[str, str]: function R_from_eman (line 127) | def R_from_eman(a: np.ndarray, b: np.ndarray, y: np.ndarray) -> np.ndarray: function R_from_relion (line 146) | def R_from_relion(euler: np.ndarray) -> np.ndarray: function R_from_relion_scipy (line 188) | def R_from_relion_scipy(euler_: np.ndarray, degrees: bool = True) -> np.... function R_to_relion_scipy (line 206) | def R_to_relion_scipy(rot: np.ndarray, degrees: bool = True) -> np.ndarray: function xrot (line 229) | def xrot(tilt_deg): function _zero_sphere_helper (line 243) | def _zero_sphere_helper(D: int) -> Tuple[np.ndarray, np.ndarray]: function zero_sphere (line 252) | def zero_sphere(vol: np.ndarray) -> np.ndarray: function assert_pkl_close (line 262) | def assert_pkl_close(pkl_a: str, pkl_b: str, atol: float = 1e-4) -> None: function low_pass_filter (line 272) | def low_pass_filter(vol, apix, low_pass_res): function crop_real_space (line 305) | def crop_real_space(vol, D, deepcopy=False): function get_latest_checkpoint (line 333) | def get_latest_checkpoint(outdir: str) -> tuple[str, Union[str, None]]: FILE: testing/test_pose_search_rag12_128.py function load_model (line 17) | def load_model(path, D): function get_poses (line 28) | def get_poses(path, D): function mse (line 37) | def mse(x, y): function medse (line 44) | def medse(x, y): function trans_offset (line 49) | def trans_offset(x, y): function run (line 53) | def run(args): FILE: testing/test_pose_search_real_128.py function load_model (line 34) | def load_model(path): function do_pose_search (line 48) | def do_pose_search( function mse (line 68) | def mse(x, y): function medse (line 75) | def medse(x, y): function trans_offset (line 80) | def trans_offset(x, y): function eval_pose_search (line 84) | def eval_pose_search(data, model, B=512, label="", **kwargs): FILE: testing/test_pose_search_syn_64.py function load_model (line 33) | def load_model(path): function do_pose_search (line 48) | def do_pose_search(images, model, nkeptposes=24, Lmin=12, Lmax=24, niter... function mse (line 65) | def mse(x, y): function medse (line 72) | def medse(x, y): function eval_pose_search (line 77) | def eval_pose_search(data, model, B=512, label="", **kwargs): FILE: tests/conftest.py function pytest_configure (line 19) | def pytest_configure(): function get_testing_datasets (line 23) | def get_testing_datasets(dataset_lbl: str) -> tuple[str, str]: class DataFixture (line 99) | class DataFixture: function produce_data_fixture (line 104) | def produce_data_fixture( function particles (line 130) | def particles(request) -> Union[DataFixture, dict[str, DataFixture]]: function poses (line 135) | def poses(request) -> Union[DataFixture, dict[str, DataFixture]]: function ctf (line 140) | def ctf(request) -> Union[DataFixture, dict[str, DataFixture]]: function indices (line 145) | def indices(request) -> Union[DataFixture, dict[str, DataFixture]]: function datadir (line 150) | def datadir(request) -> Union[DataFixture, dict[str, DataFixture]]: function trans (line 155) | def trans(request) -> Union[DataFixture, dict[str, DataFixture]]: function volume (line 160) | def volume(request) -> Union[DataFixture, dict[str, DataFixture]]: function weights (line 165) | def weights(request) -> Union[DataFixture, dict[str, DataFixture]]: function configs (line 170) | def configs(request) -> Union[DataFixture, dict[str, DataFixture]]: class TrainDir (line 174) | class TrainDir: method __init__ (line 182) | def __init__( method parse_request (line 224) | def parse_request(cls, req: dict[str, Any]) -> dict[str, Any]: method out_files (line 253) | def out_files(self) -> list[str]: method epoch_cleaned (line 256) | def epoch_cleaned(self, epoch: Union[int, None]) -> bool: method all_files_present (line 285) | def all_files_present(self) -> bool: method replace_files (line 291) | def replace_files(self) -> None: method train_load_epoch (line 298) | def train_load_epoch(self, load_epoch: int, train_epochs: int) -> None: function train_dir (line 330) | def train_dir(request, tmpdir_factory) -> Generator[TrainDir, None, None]: function trained_dir (line 342) | def trained_dir(train_dir: TrainDir) -> Generator[TrainDir, None, None]: function train_dirs (line 349) | def train_dirs(request) -> Generator[list[TrainDir], None, None]: function trained_dirs (line 358) | def trained_dirs(train_dirs) -> Generator[list[TrainDir], None, None]: class AbInitioDir (line 365) | class AbInitioDir: method __init__ (line 368) | def __init__( method parse_request (line 391) | def parse_request(cls, req: dict[str, Any]) -> dict[str, Any]: method train (line 415) | def train(self, load_epoch: Optional[int] = None) -> None: method analyze (line 443) | def analyze(self, analysis_epoch: int) -> None: method backproject (line 450) | def backproject(self) -> None: function abinit_dir (line 463) | def abinit_dir(request, tmpdir_factory) -> AbInitioDir: function _dashboard_data_dir (line 481) | def _dashboard_data_dir() -> str: function _dashboard_is_usable_workdir (line 485) | def _dashboard_is_usable_workdir(workdir: str) -> bool: function _dashboard_run_train_and_analyze (line 495) | def _dashboard_run_train_and_analyze(workdir: str) -> None: function dashboard_workdir (line 535) | def dashboard_workdir(tmp_path_factory: pytest.TempPathFactory) -> str: function dashboard_experiment (line 552) | def dashboard_experiment(dashboard_workdir: str) -> DashboardExperiment: function flask_client (line 557) | def flask_client(dashboard_workdir: str): FILE: tests/test_add_psize.py function test_add_psize (line 11) | def test_add_psize(tmpdir, volume, Apix): FILE: tests/test_backprojection.py class TestBackprojection (line 10) | class TestBackprojection: method get_outdir (line 11) | def get_outdir( method test_train (line 45) | def test_train( method test_train_no_halfmaps (line 79) | def test_train_no_halfmaps( method test_train_no_fscs (line 113) | def test_train_no_fscs( method test_fidelity (line 150) | def test_fidelity(self, tmpdir_factory, particles, poses, ctf, indices... method test_to_fsc (line 174) | def test_to_fsc(self, tmpdir_factory, particles, poses, ctf, indices, ... class TestTiltBackprojection (line 194) | class TestTiltBackprojection: method get_outdir (line 195) | def get_outdir( method test_train (line 223) | def test_train( method test_to_fsc (line 270) | def test_to_fsc( FILE: tests/test_clean.py function test_clean_here (line 10) | def test_clean_here(trained_dir, every_n: int) -> None: function test_clean_one (line 36) | def test_clean_one(trained_dir, every_n: int) -> None: function test_clean_two (line 70) | def test_clean_two(trained_dirs, every_n: int) -> None: FILE: tests/test_dashboard_core.py function _traj_flask_200_or_ineligible (line 70) | def _traj_flask_200_or_ineligible(r, experiment: DashboardExperiment) ->... class TestParseIntFromDict (line 83) | class TestParseIntFromDict: method test_coerce_and_clamp (line 90) | def test_coerce_and_clamp(self, raw: object, expected: int) -> None: method test_non_numeric_falls_back_to_default (line 97) | def test_non_numeric_falls_back_to_default(self, bad: object) -> None: method test_missing_key_returns_default (line 100) | def test_missing_key_returns_default(self) -> None: method test_bad_value_returns_default_unclamped (line 103) | def test_bad_value_returns_default_unclamped(self) -> None: method test_traj_points_wrapper_clamps (line 108) | def test_traj_points_wrapper_clamps(self) -> None: method test_traj_interpolation_wrapper_allows_zero (line 113) | def test_traj_interpolation_wrapper_allows_zero(self) -> None: method test_traj_neighbor_wrapper_bounds (line 119) | def test_traj_neighbor_wrapper_bounds(self) -> None: class TestTrajectoryEligibilityError (line 125) | class TestTrajectoryEligibilityError: method test_eligible_returns_none (line 128) | def test_eligible_returns_none(self, monkeypatch: pytest.MonkeyPatch) ... method test_ineligible_returns_400_json (line 136) | def test_ineligible_returns_400_json(self, monkeypatch: pytest.MonkeyP... class TestChimeraxRenderCmds (line 147) | class TestChimeraxRenderCmds: method test_static_view_has_no_turn (line 150) | def test_static_view_has_no_turn(self) -> None: method test_rotated_view_injects_turn (line 159) | def test_rotated_view_injects_turn(self) -> None: method test_paths_with_spaces_are_quoted (line 165) | def test_paths_with_spaces_are_quoted(self) -> None: class TestDashboardExperiment (line 183) | class TestDashboardExperiment: method test_list_z_epochs (line 186) | def test_list_z_epochs(self, dashboard_workdir: str) -> None: method test_load_experiment_shapes (line 189) | def test_load_experiment_shapes( class TestDashboardPages (line 201) | class TestDashboardPages: method test_page_renders (line 215) | def test_page_renders(self, flask_client, path: str) -> None: class TestDashboardScatterApis (line 221) | class TestDashboardScatterApis: method test_api_scatter_json (line 224) | def test_api_scatter_json(self, flask_client) -> None: method test_api_scatter_no_color (line 231) | def test_api_scatter_no_color(self, flask_client) -> None: method test_api_scatter3d_z (line 235) | def test_api_scatter3d_z(self, flask_client) -> None: method test_api_latent3d_preview_png (line 240) | def test_api_latent3d_preview_png(self, flask_client) -> None: method test_api_preview_montage (line 246) | def test_api_preview_montage(self, flask_client) -> None: class TestDashboardPairPlot (line 252) | class TestDashboardPairPlot: method test_api_pairplot (line 263) | def test_api_pairplot( method test_pair_grid_png_is_deterministic (line 285) | def test_pair_grid_png_is_deterministic( class TestDashboardTrajectoryCoords (line 307) | class TestDashboardTrajectoryCoords: method test_direct_interpolation (line 310) | def test_direct_interpolation( method test_nearest_mode (line 332) | def test_nearest_mode( method test_anchor_driven_trajectory (line 350) | def test_anchor_driven_trajectory( method test_kmeans_centers (line 368) | def test_kmeans_centers( method test_random_indices (line 378) | def test_random_indices( method test_default_endpoints (line 388) | def test_default_endpoints( class TestDashboardZPkl (line 396) | class TestDashboardZPkl: method test_z_pkl_matches_experiment (line 399) | def test_z_pkl_matches_experiment( class TestParseAnchorIndicesTxt (line 417) | class TestParseAnchorIndicesTxt: method test_parses_whitespace (line 420) | def test_parses_whitespace(self) -> None: method test_parses_commas_and_semicolons (line 423) | def test_parses_commas_and_semicolons(self) -> None: method test_strips_surrounding_whitespace_and_newlines (line 426) | def test_strips_surrounding_whitespace_and_newlines(self) -> None: method test_allows_negative_and_zero (line 429) | def test_allows_negative_and_zero(self) -> None: method test_rejects_single_index (line 434) | def test_rejects_single_index(self) -> None: method test_rejects_empty (line 438) | def test_rejects_empty(self) -> None: method test_rejects_non_integer_tokens (line 442) | def test_rejects_non_integer_tokens(self) -> None: method test_rejects_floats (line 446) | def test_rejects_floats(self) -> None: method test_rejects_non_utf8 (line 450) | def test_rejects_non_utf8(self) -> None: class TestZTrajSavetxtRoundTrip (line 455) | class TestZTrajSavetxtRoundTrip: method test_roundtrip_through_numpy (line 456) | def test_roundtrip_through_numpy(self) -> None: class TestRoundDirectModeTrajXY (line 463) | class TestRoundDirectModeTrajXY: method test_small_range_rounds_to_three_decimals (line 464) | def test_small_range_rounds_to_three_decimals(self) -> None: method test_large_range_rounds_to_two_decimals (line 469) | def test_large_range_rounds_to_two_decimals(self) -> None: method test_nan_entries_preserved (line 476) | def test_nan_entries_preserved(self) -> None: class TestTrajectoryXYOkForDirect (line 484) | class TestTrajectoryXYOkForDirect: method test_allowed_combinations (line 496) | def test_allowed_combinations(self, x: str, y: str, expected: bool) ->... class TestTrajectoryDefaultXYCols (line 500) | class TestTrajectoryDefaultXYCols: method test_prefers_pc_when_zdim_greater_than_2 (line 501) | def test_prefers_pc_when_zdim_greater_than_2(self) -> None: method test_falls_back_to_umap_when_no_pc (line 505) | def test_falls_back_to_umap_when_no_pc(self) -> None: method test_falls_back_to_first_two_when_no_embedding (line 509) | def test_falls_back_to_first_two_when_no_embedding(self) -> None: class TestTrajectoryPlotAxisColumns (line 514) | class TestTrajectoryPlotAxisColumns: method test_includes_all_z_pc_umap (line 515) | def test_includes_all_z_pc_umap( method test_validate_raises_for_disallowed_pair (line 526) | def test_validate_raises_for_disallowed_pair( method test_validate_accepts_allowed_pair (line 532) | def test_validate_accepts_allowed_pair( class TestHasEmbeddingColumns (line 539) | class TestHasEmbeddingColumns: method test_has_umap_and_pc_on_real_experiment (line 540) | def test_has_umap_and_pc_on_real_experiment( class TestDijkstraFromNeighbors (line 547) | class TestDijkstraFromNeighbors: method _line_graph (line 551) | def _line_graph() -> tuple[np.ndarray, np.ndarray]: method test_same_node_returns_singleton (line 560) | def test_same_node_returns_singleton(self) -> None: method test_path_across_line (line 564) | def test_path_across_line(self) -> None: method test_disconnected_returns_none (line 569) | def test_disconnected_returns_none(self) -> None: method test_prefers_shorter_edge (line 577) | def test_prefers_shorter_edge(self) -> None: class TestGraphNeighborArrays (line 584) | class TestGraphNeighborArrays: method test_shapes_and_cache (line 585) | def test_shapes_and_cache(self, dashboard_experiment: DashboardExperim... class TestComputeDirectAnchorTrajectory (line 601) | class TestComputeDirectAnchorTrajectory: method test_endpoints_and_interpolation_count (line 602) | def test_endpoints_and_interpolation_count( method test_requires_two_anchors (line 618) | def test_requires_two_anchors( method test_out_of_range_raises (line 624) | def test_out_of_range_raises( class TestParseTrajectoryRequestBody (line 633) | class TestParseTrajectoryRequestBody: method test_anchor_direct_happy_path (line 634) | def test_anchor_direct_happy_path( method test_anchor_graph_happy_path (line 652) | def test_anchor_graph_happy_path( method test_anchor_bad_mode_rejected (line 669) | def test_anchor_bad_mode_rejected( method test_anchor_indices_not_int_rejected (line 683) | def test_anchor_indices_not_int_rejected( method test_direct_requires_z_or_pc_axes (line 692) | def test_direct_requires_z_or_pc_axes( method test_bad_mode_for_non_anchor_rejected (line 708) | def test_bad_mode_for_non_anchor_rejected( method test_bad_start_end_rejected (line 723) | def test_bad_start_end_rejected( method test_non_numeric_endpoints_rejected (line 732) | def test_non_numeric_endpoints_rejected( method test_traj_xy_custom_overrides_start_end (line 747) | def test_traj_xy_custom_overrides_start_end( class TestComputeTrajectoryLatentPath (line 758) | class TestComputeTrajectoryLatentPath: method test_nearest_rows_land_on_real_particles (line 759) | def test_nearest_rows_land_on_real_particles( method test_direct_endpoints_equal_data_points (line 779) | def test_direct_endpoints_equal_data_points( class TestRandomDatasetIndices (line 800) | class TestRandomDatasetIndices: method test_returns_distinct_indices_in_range (line 801) | def test_returns_distinct_indices_in_range( method test_clips_to_available (line 810) | def test_clips_to_available( class TestDefaultTrajectoryEndpointsXY (line 818) | class TestDefaultTrajectoryEndpointsXY: method test_endpoints_span_long_axis (line 819) | def test_endpoints_span_long_axis( method test_synthetic_tight_cluster_follows_pc1 (line 829) | def test_synthetic_tight_cluster_follows_pc1(self) -> None: class TestTrajectoryAnchorModeParams (line 843) | class TestTrajectoryAnchorModeParams: method test_direct_mode_clamps_interpolation (line 844) | def test_direct_mode_clamps_interpolation(self) -> None: method test_graph_mode_clamps_anchor_count (line 852) | def test_graph_mode_clamps_anchor_count(self) -> None: class TestDirectAnchorParticleIndicesPayload (line 860) | class TestDirectAnchorParticleIndicesPayload: method test_no_interp_is_straight_passthrough (line 861) | def test_no_interp_is_straight_passthrough(self) -> None: method test_interpolated_fills_none_between_anchors (line 867) | def test_interpolated_fills_none_between_anchors(self) -> None: method test_total_mismatch_returns_none (line 874) | def test_total_mismatch_returns_none(self) -> None: method test_too_few_anchors_returns_none (line 882) | def test_too_few_anchors_returns_none(self) -> None: class TestTrajectoryAnchorPayloadFromIndices (line 891) | class TestTrajectoryAnchorPayloadFromIndices: method test_direct_shape (line 892) | def test_direct_shape(self, dashboard_experiment: DashboardExperiment)... class TestPlotDfRowsForDatasetIndices (line 907) | class TestPlotDfRowsForDatasetIndices: method test_roundtrip_from_all_indices (line 908) | def test_roundtrip_from_all_indices( method test_empty_input_returns_empty (line 915) | def test_empty_input_returns_empty( class TestPreloadTimeHints (line 931) | class TestPreloadTimeHints: method test_bounds_are_ordered_and_positive (line 933) | def test_bounds_are_ordered_and_positive(self, cpus: int) -> None: method test_format_singular_core (line 938) | def test_format_singular_core(self) -> None: method test_format_plural_cores_embeds_cpus (line 942) | def test_format_plural_cores_embeds_cpus(self) -> None: class TestStratifiedXYRowIndices (line 948) | class TestStratifiedXYRowIndices: method test_count_is_bounded_and_unique (line 949) | def test_count_is_bounded_and_unique(self) -> None: method test_empty_coords_returns_empty (line 957) | def test_empty_coords_returns_empty(self) -> None: class TestSamplePlotDfRowsForPreload (line 962) | class TestSamplePlotDfRowsForPreload: method test_restrict_rows_returns_subset (line 963) | def test_restrict_rows_returns_subset( method test_empty_restrict_returns_empty (line 973) | def test_empty_restrict_returns_empty( class TestMontageBytes (line 982) | class TestMontageBytes: method test_empty_returns_hint_png (line 983) | def test_empty_returns_hint_png( method test_rows_returns_png (line 989) | def test_rows_returns_png(self, dashboard_experiment: DashboardExperim... method test_too_many_rows_are_capped (line 994) | def test_too_many_rows_are_capped( class TestParticleThumbnailB64FromRow (line 1002) | class TestParticleThumbnailB64FromRow: method test_returns_base64_jpeg (line 1003) | def test_returns_base64_jpeg( class TestEncodeParticleBatch (line 1013) | class TestEncodeParticleBatch: method test_matches_request_count (line 1014) | def test_matches_request_count( class TestLoadPlotDfRowsFromPlotIndsFile (line 1026) | class TestLoadPlotDfRowsFromPlotIndsFile: method test_empty_path_returns_empty (line 1027) | def test_empty_path_returns_empty( method test_missing_file_returns_empty (line 1033) | def test_missing_file_returns_empty( method test_roundtrip_via_pickle (line 1043) | def test_roundtrip_via_pickle( FILE: tests/test_dashboard_extended.py function _traj_flask_200_or_ineligible (line 69) | def _traj_flask_200_or_ineligible(r, experiment: DashboardExperiment) ->... class TestConfigHasCryodrgnCmd (line 82) | class TestConfigHasCryodrgnCmd: method test_detects_cryodrgn (line 94) | def test_detects_cryodrgn(self, cfg: object, expected: bool) -> None: class TestDiscoverCryodrgnWorkdirs (line 98) | class TestDiscoverCryodrgnWorkdirs: method test_only_returns_cryodrgn_workdirs (line 99) | def test_only_returns_cryodrgn_workdirs(self, tmp_path) -> None: method test_nonexistent_cwd_returns_empty (line 125) | def test_nonexistent_cwd_returns_empty(self, tmp_path) -> None: class TestWorkdirOptions (line 129) | class TestWorkdirOptions: method test_relative_labels (line 130) | def test_relative_labels(self, tmp_path) -> None: class TestEpochsForWorkdir (line 141) | class TestEpochsForWorkdir: method test_returns_analyzed_epochs_sorted (line 142) | def test_returns_analyzed_epochs_sorted(self, dashboard_workdir: str) ... class TestAbbrevMiddle (line 149) | class TestAbbrevMiddle: method test_short_unchanged (line 150) | def test_short_unchanged(self) -> None: method test_long_uses_middle_ellipsis (line 153) | def test_long_uses_middle_ellipsis(self) -> None: method test_none_returns_empty (line 161) | def test_none_returns_empty(self) -> None: method test_small_maxlen_truncates_plainly (line 164) | def test_small_maxlen_truncates_plainly(self) -> None: class TestAbbrevMiddleToken (line 168) | class TestAbbrevMiddleToken: method test_short_unchanged (line 169) | def test_short_unchanged(self) -> None: method test_long_has_ellipsis (line 172) | def test_long_has_ellipsis(self) -> None: class TestCmdArgvForNavDisplay (line 179) | class TestCmdArgvForNavDisplay: method test_python_m_cryodrgn (line 180) | def test_python_m_cryodrgn(self) -> None: method test_entrypoint_first (line 185) | def test_entrypoint_first(self) -> None: method test_python_wrapper_second (line 190) | def test_python_wrapper_second(self) -> None: method test_empty_returns_empty (line 195) | def test_empty_returns_empty(self) -> None: method test_unrecognised_is_unchanged (line 198) | def test_unrecognised_is_unchanged(self) -> None: class TestArgvFourCommandLines (line 202) | class TestArgvFourCommandLines: method test_empty (line 203) | def test_empty(self) -> None: method test_single_token (line 206) | def test_single_token(self) -> None: method test_head_is_two_tokens (line 209) | def test_head_is_two_tokens(self) -> None: method test_long_token_is_abbreviated (line 217) | def test_long_token_is_abbreviated(self) -> None: class TestClearExperimentCaches (line 224) | class TestClearExperimentCaches: method test_clears_all_three_caches (line 225) | def test_clears_all_three_caches( class TestCommandBuilderTemplateKwargs (line 240) | class TestCommandBuilderTemplateKwargs: method test_no_experiment_uses_defaults (line 241) | def test_no_experiment_uses_defaults(self) -> None: method test_with_experiment_uses_config (line 249) | def test_with_experiment_uses_config( class TestActiveWorkdirAndResolveEpoch (line 260) | class TestActiveWorkdirAndResolveEpoch: method test_active_workdir_returns_dashboard_workdir (line 261) | def test_active_workdir_returns_dashboard_workdir( method test_no_workdir_returns_none (line 269) | def test_no_workdir_returns_none(self) -> None: class TestNormalizeContinuousPalette (line 280) | class TestNormalizeContinuousPalette: method test_cases (line 293) | def test_cases(self, raw: object, expected: str) -> None: method test_mpl_cmap_for_palette (line 297) | def test_mpl_cmap_for_palette(self) -> None: class TestContinuousSeriesStats (line 303) | class TestContinuousSeriesStats: method test_constant_series_has_finite_span (line 304) | def test_constant_series_has_finite_span(self) -> None: method test_all_nan_falls_back (line 309) | def test_all_nan_falls_back(self) -> None: method test_mixed_series_uses_extrema (line 315) | def test_mixed_series_uses_extrema(self) -> None: class TestPairGridHexAndSkeleton (line 321) | class TestPairGridHexAndSkeleton: method test_hex_style_is_png_and_deterministic (line 322) | def test_hex_style_is_png_and_deterministic( method test_placeholder_layout_shape (line 341) | def test_placeholder_layout_shape(self) -> None: method test_placeholder_zdim_zero_is_empty (line 347) | def test_placeholder_zdim_zero_is_empty(self) -> None: class TestIsDrgnaiConfig (line 356) | class TestIsDrgnaiConfig: method test_recognises_drgnai (line 357) | def test_recognises_drgnai(self) -> None: method test_classic_config_is_false (line 360) | def test_classic_config_is_false(self) -> None: class TestConfigYamlPath (line 364) | class TestConfigYamlPath: method test_returns_yaml_when_present (line 365) | def test_returns_yaml_when_present(self, dashboard_workdir: str) -> None: method test_falls_back_to_pkl (line 368) | def test_falls_back_to_pkl(self, tmp_path) -> None: method test_missing_raises (line 372) | def test_missing_raises(self, tmp_path) -> None: class TestSortedVolMrcPaths (line 377) | class TestSortedVolMrcPaths: method test_sorts_by_index_and_caps_count (line 378) | def test_sorts_by_index_and_caps_count(self, tmp_path) -> None: method test_insufficient_volumes_raises (line 388) | def test_insufficient_volumes_raises(self, tmp_path) -> None: class TestExplorerVolumesEligible (line 394) | class TestExplorerVolumesEligible: method test_false_without_weights (line 395) | def test_false_without_weights( method test_true_with_weights_and_cuda (line 414) | def test_true_with_weights_and_cuda( method test_false_without_cuda (line 437) | def test_false_without_cuda( class TestMplRetrimPng (line 446) | class TestMplRetrimPng: method test_rewrites_png_in_place (line 447) | def test_rewrites_png_in_place(self, tmp_path) -> None: class TestListZEpochs (line 466) | class TestListZEpochs: method test_missing_workdir_returns_empty (line 467) | def test_missing_workdir_returns_empty(self, tmp_path) -> None: method test_requires_matching_analyze_dir (line 470) | def test_requires_matching_analyze_dir(self, tmp_path) -> None: method test_multi_epoch_sorted (line 477) | def test_multi_epoch_sorted(self, tmp_path) -> None: class TestDashboardExperimentExtras (line 484) | class TestDashboardExperimentExtras: method test_can_preview_particles_is_true (line 485) | def test_can_preview_particles_is_true( method test_numeric_columns_exclude_index (line 490) | def test_numeric_columns_exclude_index( class TestCommandBuilderSchemaIntegrity (line 503) | class TestCommandBuilderSchemaIntegrity: method test_schema_covers_all_four_commands (line 506) | def test_schema_covers_all_four_commands(self) -> None: method test_arg_ids_are_unique (line 515) | def test_arg_ids_are_unique(self, cmd: str) -> None: method test_every_cli_flag_has_help_entry (line 520) | def test_every_cli_flag_has_help_entry(self, cmd: str) -> None: class TestRequiredFieldTitles (line 535) | class TestRequiredFieldTitles: method test_contains_expected_keys (line 536) | def test_contains_expected_keys(self) -> None: method test_all_values_nonempty (line 555) | def test_all_values_nonempty(self) -> None: class TestHelpMapFromCommandPy (line 560) | class TestHelpMapFromCommandPy: method test_train_vae_has_common_flags (line 561) | def test_train_vae_has_common_flags(self) -> None: class TestFlaskErrorPaths (line 576) | class TestFlaskErrorPaths: method test_scatter_bad_axis (line 577) | def test_scatter_bad_axis(self, flask_client) -> None: method test_scatter_bad_color (line 582) | def test_scatter_bad_color(self, flask_client) -> None: method test_scatter3d_bad_color (line 586) | def test_scatter3d_bad_color(self, flask_client) -> None: method test_latent3d_non_numeric_elev (line 590) | def test_latent3d_non_numeric_elev(self, flask_client) -> None: method test_preview_montage_non_integer_rows (line 594) | def test_preview_montage_non_integer_rows(self, flask_client) -> None: method test_pairplot_missing_color_col (line 598) | def test_pairplot_missing_color_col(self, flask_client) -> None: method test_pairplot_bogus_diagonal (line 602) | def test_pairplot_bogus_diagonal(self, flask_client) -> None: method test_pairplot_bogus_upper (line 613) | def test_pairplot_bogus_upper(self, flask_client) -> None: method test_pairplot_z_as_color_rejected (line 624) | def test_pairplot_z_as_color_rejected(self, flask_client) -> None: method test_save_selection_empty_rows (line 631) | def test_save_selection_empty_rows(self, flask_client) -> None: method test_save_selection_out_of_range (line 635) | def test_save_selection_out_of_range(self, flask_client) -> None: class TestTrajectoryImportAnchors (line 640) | class TestTrajectoryImportAnchors: method test_import_happy_path (line 641) | def test_import_happy_path( method test_rejects_non_txt (line 665) | def test_rejects_non_txt(self, flask_client, tmp_path) -> None: method test_missing_file (line 674) | def test_missing_file(self, flask_client, tmp_path) -> None: method test_missing_path_field (line 686) | def test_missing_path_field(self, flask_client) -> None: class TestListServerFiles (line 691) | class TestListServerFiles: method test_lists_workdir_contents (line 692) | def test_lists_workdir_contents(self, flask_client) -> None: method test_bad_dir_returns_400 (line 699) | def test_bad_dir_returns_400(self, flask_client, tmp_path) -> None: class TestSaveZPath (line 706) | class TestSaveZPath: method test_roundtrip (line 707) | def test_roundtrip( method test_non_string_txt_rejected (line 723) | def test_non_string_txt_rejected(self, flask_client) -> None: class TestSaveSelectionRoundTrip (line 731) | class TestSaveSelectionRoundTrip: method test_pkl_roundtrip (line 732) | def test_pkl_roundtrip(self, flask_client, tmp_path) -> None: class TestSavePairPlotPng (line 750) | class TestSavePairPlotPng: method test_writes_png (line 751) | def test_writes_png(self, flask_client, tmp_path) -> None: class TestApiPreloadImages (line 769) | class TestApiPreloadImages: method test_get_small_selection (line 770) | def test_get_small_selection(self, flask_client) -> None: method test_post_body (line 778) | def test_post_body(self, flask_client) -> None: method test_bad_selected_rows_rejected (line 787) | def test_bad_selected_rows_rejected(self, flask_client) -> None: class TestSetEpochEndpoint (line 795) | class TestSetEpochEndpoint: method test_post_same_epoch_succeeds (line 796) | def test_post_same_epoch_succeeds(self, flask_client) -> None: method test_invalid_epoch_is_400 (line 801) | def test_invalid_epoch_is_400(self, flask_client) -> None: method test_non_integer_epoch_is_400 (line 805) | def test_non_integer_epoch_is_400(self, flask_client) -> None: method test_missing_epoch_is_400 (line 809) | def test_missing_epoch_is_400(self, flask_client) -> None: class TestSetWorkdirEndpoint (line 814) | class TestSetWorkdirEndpoint: method test_invalid_workdir_rejected_by_default_app (line 815) | def test_invalid_workdir_rejected_by_default_app(self, flask_client) -... method test_clear_workdir_rejected_in_bound_mode (line 821) | def test_clear_workdir_rejected_in_bound_mode(self, flask_client) -> N... method test_valid_workdir_switch_in_builder_only_mode (line 826) | def test_valid_workdir_switch_in_builder_only_mode( method test_clear_in_builder_only_mode_succeeds (line 839) | def test_clear_in_builder_only_mode_succeeds(self, dashboard_workdir: ... class TestRoutesTableIntegrity (line 847) | class TestRoutesTableIntegrity: method test_every_entry_is_callable (line 848) | def test_every_entry_is_callable(self) -> None: method test_create_app_registers_every_route (line 853) | def test_create_app_registers_every_route(self, dashboard_workdir: str... class TestIndexTemplateNavLinks (line 860) | class TestIndexTemplateNavLinks: method test_index_has_expected_nav_links (line 861) | def test_index_has_expected_nav_links( class TestCommandBuilderOnlyMode (line 882) | class TestCommandBuilderOnlyMode: method test_builder_only_index_renders (line 883) | def test_builder_only_index_renders(self, dashboard_workdir: str) -> N... method test_builder_only_explorer_redirects_home (line 891) | def test_builder_only_explorer_redirects_home(self) -> None: class TestDashboardCLI (line 904) | class TestDashboardCLI: method _parse (line 906) | def _parse(argv: list[str]) -> argparse.Namespace: method test_parses_minimal_args (line 911) | def test_parses_minimal_args(self) -> None: method test_parses_with_outdir (line 922) | def test_parses_with_outdir(self) -> None: method test_view_flag_aliases (line 928) | def test_view_flag_aliases(self) -> None: method test_verbose_count_levels (line 932) | def test_verbose_count_levels(self) -> None: method test_view_flags_are_mutually_exclusive (line 937) | def test_view_flags_are_mutually_exclusive(self) -> None: method test_filter_max_points_sets_env (line 943) | def test_filter_max_points_sets_env(self, monkeypatch: pytest.MonkeyPa... method test_builder_only_with_experiment_view_raises (line 952) | def test_builder_only_with_experiment_view_raises( method test_builder_only_with_command_builder_ok (line 960) | def test_builder_only_with_command_builder_ok( method test_main_invokes_run_server_with_outdir (line 974) | def test_main_invokes_run_server_with_outdir( method test_main_configures_logging_from_verbose (line 990) | def test_main_configures_logging_from_verbose( method test_default_logging_suppresses_werkzeug_internal (line 1004) | def test_default_logging_suppresses_werkzeug_internal(self) -> None: FILE: tests/test_dataset.py function test_particles (line 11) | def test_particles(particles): class TestImageDatasetLoading (line 40) | class TestImageDatasetLoading: method test_loading_slow (line 45) | def test_loading_slow(self, particles, indices, batch_size): method test_loading_fast (line 70) | def test_loading_fast(self, particles, indices, batch_size): class TestTiltSeriesLoading (line 116) | class TestTiltSeriesLoading: method test_loading_slow (line 118) | def test_loading_slow(self, particles, indices, ntilts, batch_size): function test_data_shuffler (line 187) | def test_data_shuffler(particles, indices, batch_size, buffer_size): FILE: tests/test_direct_traversal.py function test_fidelity_small (line 7) | def test_fidelity_small(tmpdir): function test_fidelity_big (line 31) | def test_fidelity_big(tmpdir): FILE: tests/test_downsample.py class TestDownsampleToMRCS (line 40) | class TestDownsampleToMRCS: method test_downsample (line 54) | def test_downsample(self, tmpdir, particles, datadir, indices, downsam... method test_downsample_with_chunks (line 82) | def test_downsample_with_chunks( function test_downsample_starout (line 145) | def test_downsample_starout( function test_downsample_txtout (line 187) | def test_downsample_txtout(tmpdir, particles, outdir, downsample_dim): function test_difficult_directory (line 221) | def test_difficult_directory(tmpdir, particles, datadir, newdatadir): FILE: tests/test_entropy.py function test_so3_entropy (line 6) | def test_so3_entropy(): FILE: tests/test_eval_images.py function test_invert_contrast (line 12) | def test_invert_contrast(tmpdir, particles, poses, weights, configs): FILE: tests/test_fft.py function test_fft2 (line 11) | def test_fft2(): function test_fftn (line 15) | def test_fftn(): function test_ifftn (line 19) | def test_ifftn(): function test_fftshift (line 25) | def test_fftshift(): function test_ifftshift (line 32) | def test_ifftshift(): FILE: tests/test_filter_mrcs.py function test_filter_mrcs (line 14) | def test_filter_mrcs(tmpdir, particles, ind_size, random_seed): FILE: tests/test_filter_pkl.py function test_select_clusters (line 13) | def test_select_clusters(tmpdir, total_size, ind_size, selected_size, ra... function test_filter_ctf_pkl (line 44) | def test_filter_ctf_pkl(tmpdir, ctf, ind1, ind2): function test_filter_pose_pkl (line 82) | def test_filter_pose_pkl(tmpdir, poses, ind1, ind2): FILE: tests/test_flip_hand.py function test_output (line 11) | def test_output(tmpdir, volume): function test_mrc_file (line 40) | def test_mrc_file(tmpdir, volume): function test_image_source (line 54) | def test_image_source(tmpdir, volume): FILE: tests/test_fsc.py function test_fidelity (line 14) | def test_fidelity(trained_dir) -> None: function test_output_file (line 55) | def test_output_file(trained_dir, epochs: tuple[int, int]) -> None: function test_apply_mask (line 85) | def test_apply_mask(trained_dir, epochs: tuple[int, int]) -> None: function test_apply_phase_randomization (line 114) | def test_apply_phase_randomization(trained_dir) -> None: function test_use_cryosparc_correction (line 135) | def test_use_cryosparc_correction(trained_dir) -> None: function test_plotting (line 177) | def test_plotting(trained_dir, epochs: tuple[int, int]) -> None: FILE: tests/test_graph_traversal.py function test_fidelity_small (line 6) | def test_fidelity_small(tmpdir): function test_fidelity_medium (line 41) | def test_fidelity_medium(tmpdir): function test_no_path (line 73) | def test_no_path(tmpdir, ind1, ind2): function test_fidelity_large (line 89) | def test_fidelity_large(tmpdir): FILE: tests/test_integration.py class TestIterativeFiltering (line 40) | class TestIterativeFiltering: method get_outdir (line 41) | def get_outdir(self, tmpdir_factory, particles, indices, poses, ctf): method test_train_model (line 50) | def test_train_model(self, tmpdir_factory, particles, poses, ctf, indi... method test_analyze (line 82) | def test_analyze(self, tmpdir_factory, particles, poses, ctf, indices): method test_notebooks (line 109) | def test_notebooks(self, tmpdir_factory, particles, poses, ctf, indice... method test_refiltering (line 122) | def test_refiltering(self, tmpdir_factory, particles, poses, ctf, indi... class TestParseWriteStar (line 168) | class TestParseWriteStar: method get_outdir (line 169) | def get_outdir(self, tmpdir_factory, particles, datadir): method test_parse_ctf_star (line 176) | def test_parse_ctf_star(self, tmpdir_factory, particles, datadir): method test_write_star_from_mrcs (line 203) | def test_write_star_from_mrcs( method test_parse_pose (line 234) | def test_parse_pose(self, tmpdir_factory, particles, datadir, indices,... method test_downsample_and_from_txt (line 263) | def test_downsample_and_from_txt( method test_backproject_from_downsample_txt (line 339) | def test_backproject_from_downsample_txt( method test_backproject_from_downsample_star (line 397) | def test_backproject_from_downsample_star( class TestBackprojectFromChunkedDownsampled (line 442) | class TestBackprojectFromChunkedDownsampled: method get_outpaths (line 443) | def get_outpaths( method test_downsample_with_chunks (line 460) | def test_downsample_with_chunks( method test_backprojection_from_chunks (line 490) | def test_backprojection_from_chunks( class TestBackprojectTilts (line 529) | class TestBackprojectTilts: method get_outpaths (line 530) | def get_outpaths(self, tmpdir_factory, particles, poses, ctf, datadir): method test_backprojection_from_newind (line 543) | def test_backprojection_from_newind( FILE: tests/test_invert_contrast.py function test_output (line 12) | def test_output(tmpdir, volume): function test_mrc_file (line 41) | def test_mrc_file(tmpdir, volume): function test_image_source (line 57) | def test_image_source(tmpdir, volume): FILE: tests/test_masks.py function hash_file (line 10) | def hash_file(filename: str) -> str: function test_mask_fidelity (line 25) | def test_mask_fidelity(tmpdir, volume, dist, dilate, apix) -> None: function test_png_output_file (line 83) | def test_png_output_file(tmpdir, volume, dist_val) -> None: FILE: tests/test_mrc.py function mrcs_data (line 9) | def mrcs_data(): function test_lazy_loading (line 15) | def test_lazy_loading(mrcs_data): function test_star (line 29) | def test_star(mrcs_data): function test_txt (line 42) | def test_txt(mrcs_data): FILE: tests/test_parse.py function particles_starfile (line 18) | def particles_starfile(): class TestCtfStar (line 22) | class TestCtfStar: method get_outdir (line 23) | def get_outdir(self, tmpdir_factory, resolution): method test_parse (line 31) | def test_parse(self, tmpdir_factory, particles_starfile, resolution): method test_fidelity (line 55) | def test_fidelity(self, tmpdir_factory, particles_starfile, resolution): method test_write_star_from_mrcs (line 61) | def test_write_star_from_mrcs(self, tmpdir_factory, particles_starfile... function test_parse_ctf_cs (line 81) | def test_parse_ctf_cs(tmpdir, particles): function test_parse_pose_star (line 92) | def test_parse_pose_star(tmpdir, particles_starfile): function test_parse_star (line 103) | def test_parse_star(tmpdir, particles_starfile, resolution): function test_parse_pose_cs (line 138) | def test_parse_pose_cs(tmpdir, particles): FILE: tests/test_pc_traversal.py function test_fidelity_small (line 6) | def test_fidelity_small(): function test_fidelity_big (line 20) | def test_fidelity_big(): FILE: tests/test_phase_flip.py function test_phase_flip (line 7) | def test_phase_flip(tmpdir): FILE: tests/test_read_filter_write.py function input_cs_proj_dir (line 24) | def input_cs_proj_dir(): function test_read_mrcs (line 34) | def test_read_mrcs(particles, datadir): function test_read_starfile (line 45) | def test_read_starfile(particles, datadir): function test_concat_indices_pkls (line 54) | def test_concat_indices_pkls(tmpdir): function test_filter (line 81) | def test_filter(tmpdir, particles, datadir, index_pair): class TestFilterStar (line 120) | class TestFilterStar: method test_filter_with_indices (line 121) | def test_filter_with_indices(self, tmpdir, particles, datadir): method test_filter_with_separate_files (line 167) | def test_filter_with_separate_files(self, tmpdir, particles, indices, ... class TestParseCTFWriteStar (line 206) | class TestParseCTFWriteStar: method get_outdir (line 207) | def get_outdir(self, tmpdir_factory, particles, datadir): method test_parse_ctf_star (line 236) | def test_parse_ctf_star(self, tmpdir_factory, particles, datadir, reso... method test_write_star_from_mrcs (line 267) | def test_write_star_from_mrcs(self, tmpdir_factory, particles, datadir): method test_write_filter_star (line 301) | def test_write_filter_star(self, tmpdir_factory, particles, datadir, u... function test_filter_cs (line 333) | def test_filter_cs(tmpdir, particles): FILE: tests/test_reconstruct_abinit.py class TestAbinitHomo (line 28) | class TestAbinitHomo: method get_outdir (line 49) | def get_outdir(self, tmpdir_factory, particles, ctf, indices): method test_train_model (line 56) | def test_train_model(self, tmpdir_factory, particles, ctf, indices): method test_load_checkpoint (line 89) | def test_load_checkpoint(self, tmpdir_factory, particles, ctf, indices): class TestAbinitHetero (line 130) | class TestAbinitHetero: method get_outdir (line 151) | def get_outdir(self, tmpdir_factory, particles, ctf, indices): method test_train_model (line 158) | def test_train_model(self, tmpdir_factory, particles, ctf, indices): method test_analyze (line 196) | def test_analyze( method test_load_checkpoint (line 226) | def test_load_checkpoint(self, tmpdir_factory, particles, ctf, indices): method test_load_poses (line 256) | def test_load_poses(self, tmpdir_factory, particles, ctf, indices): method test_notebooks (line 289) | def test_notebooks(self, tmpdir_factory, particles, ctf, indices, nb_l... method test_interactive_filtering (line 317) | def test_interactive_filtering( method test_graph_traversal (line 354) | def test_graph_traversal(self, tmpdir_factory, particles, ctf, indices): method test_analyze_landscape (line 377) | def test_analyze_landscape(self, tmpdir_factory, particles, ctf, indic... method test_analyze_landscape_full (line 406) | def test_analyze_landscape_full(self, tmpdir_factory, particles, ctf, ... FILE: tests/test_reconstruct_abinit_old.py class TestAbinitHetero (line 40) | class TestAbinitHetero: method get_outdir (line 65) | def get_outdir(self, tmpdir_factory, particles, ctf, indices): method test_train_model (line 72) | def test_train_model(self, tmpdir_factory, particles, ctf, indices): method test_analyze (line 106) | def test_analyze( method test_notebooks (line 139) | def test_notebooks(self, tmpdir_factory, particles, ctf, indices, nb_l... method test_interactive_filtering (line 167) | def test_interactive_filtering( method test_graph_traversal (line 205) | def test_graph_traversal(self, tmpdir_factory, particles, ctf, indices... method test_analyze_landscape (line 231) | def test_analyze_landscape(self, tmpdir_factory, particles, ctf, indic... method test_analyze_landscape_full (line 251) | def test_analyze_landscape_full(self, tmpdir_factory, particles, ctf, ... method test_eval_volume (line 258) | def test_eval_volume(self, tmpdir_factory, particles, ctf, indices): function test_abinit_checkpoint_analysis_and_backproject (line 281) | def test_abinit_checkpoint_analysis_and_backproject(abinit_dir): FILE: tests/test_reconstruct_fixed.py class TestFixedHetero (line 40) | class TestFixedHetero: method get_outdir (line 41) | def get_outdir(self, tmpdir_factory, train_cmd, particles, poses, ctf,... method test_train_model (line 53) | def test_train_model( method test_train_from_checkpoint (line 109) | def test_train_from_checkpoint( method test_analyze (line 171) | def test_analyze( method test_notebooks (line 202) | def test_notebooks( method test_interactive_filtering (line 231) | def test_interactive_filtering( method test_landscape (line 303) | def test_landscape( method test_landscape_full (line 378) | def test_landscape_full( method test_landscape_notebook (line 403) | def test_landscape_notebook( method test_direct_traversal (line 443) | def test_direct_traversal( method test_graph_traversal (line 474) | def test_graph_traversal( method test_eval_volume (line 523) | def test_eval_volume( method test_eval_images (line 546) | def test_eval_images( method test_plot_classes (line 599) | def test_plot_classes( method test_clean_all (line 649) | def test_clean_all(self, tmpdir_factory, train_cmd, particles, poses, ... function test_homogeneous_with_poses (line 666) | def test_homogeneous_with_poses(tmpdir, particles, poses, batch_size, us... function test_frompose_train_and_from_checkpoint (line 696) | def test_frompose_train_and_from_checkpoint(trained_dir, load_epoch, tra... class TestStarFixedHomo (line 705) | class TestStarFixedHomo: method test_train_model (line 708) | def test_train_model(self, tmpdir, particles, indices, poses, ctf, dat... FILE: tests/test_reconstruct_tilt.py class TestTiltFixedHetero (line 34) | class TestTiltFixedHetero: method get_outdir (line 41) | def get_outdir( method test_train_model (line 58) | def test_train_model( method test_filter_command (line 98) | def test_filter_command( method test_analyze (line 162) | def test_analyze( method test_backproject (line 191) | def test_backproject( method test_notebooks (line 231) | def test_notebooks( method test_interactive_filtering (line 249) | def test_interactive_filtering( method test_refiltering (line 282) | def test_refiltering( class TestTiltAbinitHomo (line 330) | class TestTiltAbinitHomo: method test_train_model (line 331) | def test_train_model(self, tmpdir, particles, indices, ctf, datadir): class TestTiltAbinitHetero (line 370) | class TestTiltAbinitHetero: method get_outdir (line 371) | def get_outdir(self, tmpdir_factory, particles, ctf, indices, datadir): method test_train_model (line 384) | def test_train_model(self, tmpdir_factory, particles, indices, ctf, da... method test_analyze (line 420) | def test_analyze(self, tmpdir_factory, particles, indices, ctf, datadi... method test_notebooks (line 441) | def test_notebooks(self, tmpdir_factory, particles, indices, ctf, data... method test_interactive_filtering (line 456) | def test_interactive_filtering( method test_refiltering (line 488) | def test_refiltering( FILE: tests/test_relion.py function rln_starfile (line 15) | def rln_starfile(request): class TestFilterStar (line 29) | class TestFilterStar: method get_outdir (line 30) | def get_outdir(self, tmpdir_factory, rln_starfile, index_seed, index_f... method test_command (line 39) | def test_command(self, tmpdir_factory, rln_starfile, index_seed, index... method test_relion30_consistency (line 77) | def test_relion30_consistency( class TestParsePoseStar (line 118) | class TestParsePoseStar: method get_outdir (line 119) | def get_outdir(self, tmpdir_factory, rln_starfile, apix, resolution): method test_command (line 128) | def test_command(self, tmpdir_factory, rln_starfile, apix, resolution): method test_relion30_consistency (line 170) | def test_relion30_consistency(self, tmpdir_factory, rln_starfile, apix... class TestParseCTFStar (line 215) | class TestParseCTFStar: method get_outdir (line 216) | def get_outdir(self, tmpdir_factory, rln_starfile, apix, resolution, k... method test_command (line 232) | def test_command( method test_relion30_consistency (line 287) | def test_relion30_consistency( function test_relion50 (line 328) | def test_relion50(tmpdir, rln_starfile): FILE: tests/test_select_clusters.py function test_select_clusters (line 12) | def test_select_clusters(tmpdir, cluster_count, chosen_count): function test_select_clusters_parent_ind (line 37) | def test_select_clusters_parent_ind(tmpdir, cluster_count, chosen_count): FILE: tests/test_select_random.py function test_select_random_n (line 11) | def test_select_random_n(tmpdir, total_count, chosen_count): function test_select_random_frac (line 31) | def test_select_random_frac(tmpdir, total_count, chosen_frac): FILE: tests/test_source.py function mrcs_data (line 9) | def mrcs_data(): function test_loading_mrcs (line 15) | def test_loading_mrcs(mrcs_data): function test_loading_starfile (line 24) | def test_loading_starfile(mrcs_data): function test_loading_txtfile (line 33) | def test_loading_txtfile(mrcs_data): function test_loading_csfile (line 42) | def test_loading_csfile(mrcs_data): function test_write_mrc (line 63) | def test_write_mrc(tmpdir, particles, indices, chunksize, transform_fn): function test_source_iteration (line 76) | def test_source_iteration(particles, chunksize): function test_prespecified_indices (line 93) | def test_prespecified_indices(mrcs_data): function test_prespecified_indices_eager (line 108) | def test_prespecified_indices_eager(mrcs_data): function test_txt_prespecified_indices (line 123) | def test_txt_prespecified_indices(mrcs_data): function test_txt_prespecified_indices_contiguous (line 141) | def test_txt_prespecified_indices_contiguous(mrcs_data): function test_txt_prespecified_indices_contiguous_eager (line 159) | def test_txt_prespecified_indices_contiguous_eager(mrcs_data): function test_txt_prespecified_indices_eager (line 178) | def test_txt_prespecified_indices_eager(mrcs_data): function test_prespecified_indices_chunked (line 197) | def test_prespecified_indices_chunked(mrcs_data): function test_prespecified_indices_eager_chunked (line 212) | def test_prespecified_indices_eager_chunked(mrcs_data): FILE: tests/test_translate.py function test_shifted_image (line 13) | def test_shifted_image(): class TestTranslateStack (line 34) | class TestTranslateStack: method get_outdir (line 37) | def get_outdir(self, tmpdir_factory, particles, trans): method test_default_translate (line 47) | def test_default_translate(self, tmpdir_factory, particles, trans): method test_filetype_consistency (line 57) | def test_filetype_consistency(self, tmpdir_factory, trans): method test_tscales (line 77) | def test_tscales(self, tmpdir_factory, particles, trans, tscale): method test_tscale_consistency (line 90) | def test_tscale_consistency(self, tmpdir_factory, particles, trans): method test_png_output (line 103) | def test_png_output(self, tmpdir_factory, particles, trans): FILE: tests/test_utils.py function test_convert_from_relion_scipy (line 7) | def test_convert_from_relion_scipy(): function test_convert_from_relion (line 14) | def test_convert_from_relion(): function test_convert_to_relion (line 29) | def test_convert_to_relion(): FILE: tests/test_view_cs_header.py function test_view_cs_header (line 7) | def test_view_cs_header(): FILE: tests/test_view_header.py function test_view_header (line 7) | def test_view_header(particles): FILE: tests/test_view_mrcs.py function test_invert_contrast (line 9) | def test_invert_contrast(mock_pyplot_show): FILE: tests/test_writestar.py function particles_starfile (line 11) | def particles_starfile(): function relion31_mrcs (line 16) | def relion31_mrcs(): class TestBasic (line 49) | class TestBasic: method test_from_mrcs (line 59) | def test_from_mrcs( method test_from_txt (line 118) | def test_from_txt( function test_from_txt_with_two_files (line 194) | def test_from_txt_with_two_files( function test_relion31 (line 254) | def test_relion31(tmpdir, relion31_mrcs, ctf, indices):