def METHOD_NAME(self, lazy=False, **kwargs):
    import PIL
    # to sort file
    def natural_sort(l):
        convert = lambda text: int(text) if text.isdigit() else text.lower()
        alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
        return sorted(l, key=alphanum_key)
    # find all the images in the given directory
    file_name_list = []
    # name of extensions to track
    types = ["*.tif", "*.tiff"]
    for file in types:
        file_name_list.append(glob.glob(self.filename+"/"+file))
    # flatten list
    file_name_list = [item for sublist in file_name_list for item in sublist]
    # delete path in the name of file
    file_name_list = [file_name[len(self.filename)+1::] for file_name in file_name_list]
    # sorting file
    file_name_list = natural_sort(file_name_list)
    list_data_image = []
    for file_name in file_name_list:
        data = np.array(PIL.Image.open(self.filename + "/" + file_name)).astype(np.float32)
        list_data_image.append(data)
    list_data_image = np.array(list_data_image)
    if len(list_data_image.shape) == 4:
        list_data_image = []
        for file_name in file_name_list:
            image = PIL.Image.open(self.filename + "/" + file_name).convert('L')
            data = np.array(image).astype(np.float32)
            list_data_image.append(data)
    print("read block")
    image_sequence = ImageSequence(np.stack(list_data_image),
                                   units=self.units,
                                   sampling_rate=self.sampling_rate,
                                   spatial_scale=self.spatial_scale)
    print("creating segment")
    segment = Segment(file_origin=self.filename)
    segment.annotate(tiff_file_names=file_name_list)
    segment.imagesequences = [image_sequence]
    block = Block(file_origin=self.filename)
    block.segments.append(segment)
    print("returning block")
    return block