Manténlo corto y simple#
Python tiene funcionalidades asombrosas que nos permiten escribir código del siglo XXI. Por ejemplo, podemos recopilar funciones y parámetros en listas y luego llamarlos desde un bucle. Si bien esto es súper genial desde el punto de vista de la programación, puede que no sea fácil leer el código. La recomendación es: Manténlo corto y simple (KISS).
import numpy as np
from skimage.io import imread, imshow
from napari_segment_blobs_and_things_with_membranes import threshold_otsu, gaussian_blur, label
Ejercicio#
Como ejemplo, hay dos secciones de código a continuación. Sin ejecutar el código - ¿crees que ambos hacen lo mismo?## Ejercicio: Sin ejecutar el código - ¿crees que ambos hacen lo mismo?
image = imread("../../data/blobs.tif")
# define a list of functions and a corresponding list of arguments
functions = [gaussian_blur, threshold_otsu, label]
argument_lists = [[.5], [], []]
# go through functions and argument lists pair-wise
for function, argument_list in zip(functions, argument_lists):
# execute function with given arguments
image = function(image, *argument_list)
result1 = image
imshow(result1)
image = imread("../../data/blobs.tif")
blurred = gaussian_blur(image, 5)
binary = threshold_otsu(blurred)
labels = label(binary)
result2 = labels
imshow(result2)
Si no estás seguro, también puedes comprobar directamente si los resultados son iguales:
np.all(result1 == result2)