Spaces:
Sleeping
Sleeping
| # imports | |
| import logging | |
| from pathlib import Path | |
| from utils.constants import * | |
| from utils.generate_plots import PlotGenerator | |
| from utils.generate_split_images import ImageSplitter | |
| from utils.generate_masks import MaskStitcher | |
| from utils.generate_combine_masks import NPYMaskStitcher | |
| from utils.generate_pngs import TiffToPngConverter | |
| from model.run_cellpose import CellposeBatchProcessor | |
| from utils.generate_image_overlays import OverlayGenerator | |
| from model.run_cellpose_sam import cellpose_sam_detect_images_eval | |
| from utils.generate_geojson_qp_mask import MaskToGeoJSONConverter | |
| # generate - pngs | |
| setup_logging(logging.INFO) | |
| converter = TiffToPngConverter(scaling_factor=SCALING_FACTOR, tif_dir=TIF_IMAGES_DIR, output_dir=PNG_IMAGES_DIR) | |
| converter.convert_all() | |
| # generate - splits | |
| setup_logging(logging.INFO) | |
| splitter = ImageSplitter(source_dir=PNG_IMAGES_DIR, output_dir=SPLIT_IMAGES_DIR, sub_image_width=IMG_WIDTH, sub_image_height=IMG_HEIGHT) | |
| splitter.split_all() | |
| # generate - cellpose masks (detect step using a pre-trained model) | |
| setup_logging(logging.INFO) | |
| cellpose_sam_detect_images_eval(model_path=MODEL, image_input_dir=SPLIT_IMAGES_DIR, image_output_dir=CELLPOSE_MASKS_DIR) | |
| # generate - stitched masks (.npy files) | |
| setup_logging(logging.INFO) | |
| stitcher = NPYMaskStitcher(input_dir=CELLPOSE_MASKS_DIR, output_dir=STITCHED_MASKS_DIR) | |
| stitcher.stitch_all() | |
| # generate - plots | |
| setup_logging(logging.INFO) | |
| plotter = PlotGenerator(image_dir=PNG_IMAGES_DIR, mask_dir=STITCHED_MASKS_DIR, output_dir=OUTPUT_DIR, overlay_color=(238,144,144), boundary_color=(100,100,255), alpha=0.5) | |
| plotter.run() | |
| # generate - geojsons | |
| setup_logging(logging.INFO) | |
| converter = MaskToGeoJSONConverter(mask_dir=STITCHED_MASKS_DIR, output_dir=GEOJSON_OUTS_DIR, upscale_factor=SCALING_FACTOR) | |
| converter.convert_all() | |
| ########## archived code ########## | |
| # # cellpose - masks | |
| # setup_logging(logging.INFO) | |
| # processor = CellposeBatchProcessor(input_dir=SPLIT_IMAGES_DIR, output_dir=CELLPOSE_MASKS_DIR, model_name="", | |
| # bsize=640, overlap=0.15, batch_size=6, gpu=0, channels=(2,0), diameter=CELL_DIAMETER) | |
| # processor.process_all() | |
| # # stitch - masks | |
| # setup_logging(logging.INFO) | |
| # stitcher = MaskStitcher(input_dir=CELLPOSE_MASKS_DIR, output_dir=STITCHED_MASKS_DIR) | |
| # stitcher.stitch_all() | |
| # # img-mask overlay & comparison | |
| # overlay_gen = OverlayGenerator(original_dir = PNG_IMAGES_DIR, mask_dir = STITCHED_MASKS_DIR, output_dir = OUTPUT_DIR, mask_color = (255, 0, 0), alpha = 0.5) | |
| # overlay_gen.run() |