コード例 #1
0
def main():
    suppress_tf_logging(tf_suppress_log_messages)
    from brainreg.main import main as register
    from cellfinder.tools import prep

    start_time = datetime.now()
    args, arg_groups, what_to_run, atlas = prep.prep_cellfinder_general()

    if what_to_run.register:
        # TODO: add register_part_brain option
        logging.info("Registering to atlas")
        args, additional_images_downsample = prep.prep_registration(args)
        register(
            args.atlas,
            args.orientation,
            args.target_brain_path,
            args.brainreg_paths,
            args.voxel_sizes,
            arg_groups["NiftyReg registration backend options"],
            sort_input_file=args.sort_input_file,
            n_free_cpus=args.n_free_cpus,
            additional_images_downsample=additional_images_downsample,
            backend=args.backend,
            debug=args.debug,
        )

    else:
        logging.info("Skipping registration")

    if len(args.signal_planes_paths) > 1:
        base_directory = args.output_dir

        for idx, signal_paths in enumerate(args.signal_planes_paths):
            channel = args.signal_ch_ids[idx]
            logging.info("Processing channel: " + str(channel))
            channel_directory = os.path.join(
                base_directory, "channel_" + str(channel)
            )
            if not os.path.exists(channel_directory):
                os.makedirs(channel_directory)

            # prep signal channel specific args
            args.signal_planes_paths[0] = signal_paths
            # TODO: don't overwrite args.output_dir - use Paths instead
            args.output_dir = channel_directory
            args.signal_channel = channel
            # Run for each channel
            run_all(args, what_to_run, atlas)

    else:
        args.signal_channel = args.signal_ch_ids[0]
        run_all(args, what_to_run, atlas)
    logging.info(
        "Finished. Total time taken: {}".format(datetime.now() - start_time)
    )
コード例 #2
0
def main():
    suppress_tf_logging(tf_suppress_log_messages)
    import amap.main as register

    from cellfinder.tools import prep

    start_time = datetime.now()
    args, what_to_run = prep.prep_cellfinder_general()

    if what_to_run.register:
        # TODO: add register_part_brain option
        logging.info("Registering to atlas")
        args, additional_images_downsample = prep.prep_registration(args)

        register.main(
            args.registration_config,
            args.target_brain_path,
            args.paths.registration_output_folder,
            x_pixel_um=args.x_pixel_um,
            y_pixel_um=args.y_pixel_um,
            z_pixel_um=args.z_pixel_um,
            orientation=args.orientation,
            flip_x=args.flip_x,
            flip_y=args.flip_y,
            flip_z=args.flip_z,
            affine_n_steps=args.affine_n_steps,
            affine_use_n_steps=args.affine_use_n_steps,
            freeform_n_steps=args.freeform_n_steps,
            freeform_use_n_steps=args.freeform_use_n_steps,
            bending_energy_weight=args.bending_energy_weight,
            grid_spacing_x=args.grid_spacing_x,
            smoothing_sigma_reference=args.smoothing_sigma_reference,
            smoothing_sigma_floating=args.smoothing_sigma_floating,
            histogram_n_bins_floating=args.histogram_n_bins_floating,
            histogram_n_bins_reference=args.histogram_n_bins_reference,
            sort_input_file=args.sort_input_file,
            n_free_cpus=args.n_free_cpus,
            save_downsampled=not (args.no_save_downsampled),
            additional_images_downsample=additional_images_downsample,
            boundaries=not (args.no_boundaries),
            debug=args.debug,
        )
    else:
        logging.info("Skipping registration")

    if what_to_run.summarise:
        args = prep.prep_atlas_conf(args)

    if len(args.signal_planes_paths) > 1:
        base_directory = args.output_dir

        for idx, signal_paths in enumerate(args.signal_planes_paths):
            channel = args.signal_ch_ids[idx]
            logging.info("Processing channel: " + str(channel))
            channel_directory = os.path.join(
                base_directory, "channel_" + str(channel)
            )
            if not os.path.exists(channel_directory):
                os.makedirs(channel_directory)

            # prep signal channel specific args
            args.signal_planes_paths[0] = signal_paths
            # TODO: don't overwrite args.output_dir - use Paths instead
            args.output_dir = channel_directory
            args.signal_channel = channel
            # Run for each channel
            run_all(args, what_to_run)

    else:
        args.signal_channel = args.signal_ch_ids[0]
        run_all(args, what_to_run)
    logging.info(
        "Finished. Total time taken: {}".format(datetime.now() - start_time)
    )