omics-plip-1 / extract_tiles_from_wsi.py
VatsalPatel18's picture
Upload 19 files
70884da verified
import argparse
from scripts.slide_processor_parallel import SlideProcessor
def main():
parser = argparse.ArgumentParser(description='Process whole slide images from a directory.')
# Required arguments
parser.add_argument('-d', '--directory', type=str, required=True,
help='Directory containing whole slide image files.')
parser.add_argument('-o', '--output_dir', type=str, required=True,
help='Directory to save the processed tiles.')
# Optional arguments with defaults
parser.add_argument('-t', '--tile_size', type=int, default=1024,
help='Size of the tile in pixels (default: 1024).')
parser.add_argument('-v', '--overlap', type=int, default=0,
help='Overlap of tiles in pixels (default: 0).')
parser.add_argument('-th', '--tissue_threshold', type=float, default=0.65,
help='Threshold for tissue detection as a float (default: 0.65).')
parser.add_argument('-w', '--max_workers', type=int, default=30,
help='Maximum number of worker threads/processes (default: 30).')
args = parser.parse_args()
# Initialize the SlideProcessor with the parsed arguments
processor = SlideProcessor(
tile_size=args.tile_size,
overlap=args.overlap,
tissue_threshold=args.tissue_threshold,
max_workers=args.max_workers
)
# Start the processing
processor.parallel_process(base_dir=args.directory, output_dir=args.output_dir)
if __name__ == '__main__':
main()