1. A computer-implemented method comprising: accessing a plurality of images; identifying a filter to apply to the images; scaling a set of images obtained from the plurality of images to a thumbnail resolution; requesting a thumbnail canvas from a texture repository, the thumbnail canvas request associated with the filter and the thumbnail resolution, the texture repository configured to generate a canvas responsive to the filter and thumbnail size when the filter and thumbnail size does not exist in a stored plurality of canvases; filtering the scaled set of images using the image filter by applying the thumbnail canvas to the scaled set of images; providing a user the filtered set of images using a display; selecting a filtered thumbnail image from the filtered set of images responsive to a user input; identifying the image in the plurality of images associated with the selected filtered thumbnail image; requesting a full size canvas from the texture repository, the full size canvas request associated with the filter and a resolution associated with the identified image size; and filtering the identified image using the image filter by applying the full size canvas to the identified image.