tests.compare_cv2_tifffile API documentation

# tests.compare_cv2_tifffile

A script that compares reading images with cv2 and tifffile for speed.

View Source

     1#!/usr/bin/env python
     2"""
     3A script that compares reading images with cv2 and tifffile for speed.
     4"""
     5
     6import os
     7import time
     8import cv2
     9import numpy as np
    10import tifffile
    11
    12
    13def main():
    14    # Get all DAPI .tif file names in the directory
    15    file_path = "/mnt/HDSCA_Development/data/0B58703"
    16    file_names = [os.path.join(file_path, f"Tile{i:06d}.tif") for i in range(1, 4600)]
    17
    18    print(f"Number of files: {len(file_names)}")
    19    # cv2
    20    start = time.time()
    21    cv2_results = []
    22    for file_name in file_names:
    23        img = cv2.imread(file_name, cv2.IMREAD_UNCHANGED)
    24        # Check that we are getting the same results
    25        cv2_results.append(np.mean(img))
    26        # Print on the same line over and over
    27        # print(f"cv2: {os.path.basename(file_name)}")
    28    end = time.time()
    29    print(f"cv2: {end - start}")
    30
    31    # tifffile
    32    start = time.time()
    33    tifffile_results = []
    34    for file_name in file_names:
    35        img = tifffile.imread(file_name)
    36        # Check that we are getting the same results
    37        tifffile_results.append(np.mean(img))
    38        # Print on the same line over and over
    39        # print(f"tifffile: {os.path.dirname(file_name)}", end="\r")
    40    end = time.time()
    41    print(f"tifffile: {end - start}")
    42
    43    # Check that we are getting the same results
    44    assert cv2_results == tifffile_results
    45
    46
    47if __name__ == "__main__":
    48    main()

def main(): View Source

    14def main():
    15    # Get all DAPI .tif file names in the directory
    16    file_path = "/mnt/HDSCA_Development/data/0B58703"
    17    file_names = [os.path.join(file_path, f"Tile{i:06d}.tif") for i in range(1, 4600)]
    18
    19    print(f"Number of files: {len(file_names)}")
    20    # cv2
    21    start = time.time()
    22    cv2_results = []
    23    for file_name in file_names:
    24        img = cv2.imread(file_name, cv2.IMREAD_UNCHANGED)
    25        # Check that we are getting the same results
    26        cv2_results.append(np.mean(img))
    27        # Print on the same line over and over
    28        # print(f"cv2: {os.path.basename(file_name)}")
    29    end = time.time()
    30    print(f"cv2: {end - start}")
    31
    32    # tifffile
    33    start = time.time()
    34    tifffile_results = []
    35    for file_name in file_names:
    36        img = tifffile.imread(file_name)
    37        # Check that we are getting the same results
    38        tifffile_results.append(np.mean(img))
    39        # Print on the same line over and over
    40        # print(f"tifffile: {os.path.dirname(file_name)}", end="\r")
    41    end = time.time()
    42    print(f"tifffile: {end - start}")
    43
    44    # Check that we are getting the same results
    45    assert cv2_results == tifffile_results