def create_image_surfaces(self):
        """Create surfaces/objects representing images.

        Different sizes are used for specific purposes:

        - thumb: to show at the bottom of the viewer; used
                 to help navigate through images;
        - default: a larger view of the image;
        """
        thumb_surfs = [
            IMAGE_SURFS_DB[image_path][SMALL_THUMB_SETTINGS]
            for image_path in self.image_paths
        ]

        self.thumb_objects = List2D(
            Object2D.from_surface(surf) for surf in thumb_surfs
        )

        (
            self.thumb_objects.rect.snap_rects_ip(
                retrieve_pos_from="topright",
                assign_pos_to="topleft",
            )
        )

        self.thumb_objects.rect.topleft = SMALL_THUMB.rect.topleft
Create surfaces/objects representing images.

        Different sizes are used for specific purposes:

        - thumb: to show at the bottom of the viewer; used
                 to help navigate through images;
        - default: a larger view of the image;
        
nodezator/imagesman/previewer/main.py