def test_ImageReader(data_path): d = data_path / "images/test_image_3.png" with Pipeline() as pipeline: image = ImageReader(d) pipeline.run()
"acq_camera.exposure_mode" : 'off', "acq_camera.awb_mode" : 'off', "acq_nb_frames" : 1000 } # Define processing pipeline with Pipeline() as p: # Recursively find .jpg files in import_path. # Sort to get consective frames. abs_path = Find(import_path, [".jpg"], sort=True, verbose=True) # Extract name from abs_path name = Call(lambda p: os.path.splitext(os.path.basename(p))[0], abs_path) # Read image img = ImageReader(abs_path) # Show progress bar for frames #TQDM(Format("Frame {name}", name=name)) # Apply running median to approximate the background image flat_field = RunningMedian(img, 5) # Correct image img = img / flat_field # Rescale intensities and convert to uint8 to speed up calculations img = RescaleIntensity(img, in_range=(0, 1.1), dtype="uint8") FilterVariables(name,img) #
# Call calls regular Python functions. # Here, a subpath is appended to base_path. pattern = Call(os.path.join, base_path, "subpath/to/input/files/*.jpg") # Corresponds to `for path in glob(pattern):` path = Glob(pattern) # Remove path and extension from the filename source_basename = Call(lambda x: os.path.splitext(os.path.basename(x))[0], path) with ParallelPipeline(): # The following operations are distributed among multiple # worker processes to speed up the calculations. # Read the image image = ImageReader(path) # Do some thresholding mask = image < 128 # Find regions in the image region = FindRegions(mask, image) # Extract just the object roi_image = region.intensity_image # An object is identified by its label roi_label = region.label # Calculate a filename for the ROI image: # "RUNNING_NUMBER-SOURCE_BASENAME-ROI_LABEL"