diff --git a/README.md b/README.md index 8d9827b..1e2dd9a 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ Load a RAW file and save the postprocessed image using default [parameters](http ```python import rawpy -import imageio +import imageio.v3 as iio path = 'image.nef' with rawpy.imread(path) as raw: rgb = raw.postprocess() -imageio.imsave('default.tiff', rgb) +iio.imwrite('default.tiff', rgb) ``` Save as 16-bit linear image: @@ -28,7 +28,7 @@ Save as 16-bit linear image: ```python with rawpy.imread(path) as raw: rgb = raw.postprocess(gamma=(1,1), no_auto_bright=True, output_bps=16) -imageio.imsave('linear.tiff', rgb) +iio.imwrite('linear.tiff', rgb) ``` Extract embedded thumbnail/preview image and save as JPEG: @@ -44,7 +44,7 @@ if thumb.format == rawpy.ThumbFormat.JPEG: f.write(thumb.data) elif thumb.format == rawpy.ThumbFormat.BITMAP: # thumb.data is an RGB numpy array, convert with imageio - imageio.imsave('thumb.jpeg', thumb.data) + iio.imwrite('thumb.jpeg', thumb.data) ``` Find bad pixels using multiple RAW files and repair them: @@ -59,7 +59,7 @@ for path in paths: with rawpy.imread(path) as raw: rawpy.enhance.repair_bad_pixels(raw, bad_pixels, method='median') rgb = raw.postprocess() - imageio.imsave(path + '.tiff', rgb) + iio.imwrite(path + '.tiff', rgb) ``` ## Installation diff --git a/rawpy/_rawpy.pyx b/rawpy/_rawpy.pyx index 0636aa8..6020b1a 100644 --- a/rawpy/_rawpy.pyx +++ b/rawpy/_rawpy.pyx @@ -877,7 +877,7 @@ cdef class RawPy: with open('thumb.jpg', 'wb') as f: f.write(thumb.data) elif thumb.format == rawpy.ThumbFormat.BITMAP: - imageio.imsave('thumb.tiff', thumb.data) + imageio.v3.imwrite('thumb.tiff', thumb.data) :rtype: :class:`rawpy.Thumbnail` """ diff --git a/rawpy/enhance.py b/rawpy/enhance.py index 32fe46a..7d6ef52 100644 --- a/rawpy/enhance.py +++ b/rawpy/enhance.py @@ -350,11 +350,11 @@ def save_dcraw_bad_pixels(path, bad_pixels): paths = [os.path.join(prefix, f) for f in testfiles] coords = find_bad_pixels(paths) - import imageio + import imageio.v3 as iio raw = rawpy.imread(paths[0]) if not os.path.exists('test_original.png'): rgb = raw.postprocess() - imageio.imsave('test_original.png', rgb) + iio.imwrite('test_original.png', rgb) # A. use dcraw repair # Note that this method fails when two bad pixels are direct neighbors. @@ -365,7 +365,7 @@ def save_dcraw_bad_pixels(path, bad_pixels): save_dcraw_bad_pixels(bad_pixels_path, coords) rgb = raw.postprocess(bad_pixels_path=bad_pixels_path) print('badpixel dcraw repair+postprocessing:', time.time()-t0, 's') - imageio.imsave('test_hotpixels_repaired_dcraw.png', rgb) + iio.imwrite('test_hotpixels_repaired_dcraw.png', rgb) # B. use own repair function # With method='median' we still consider each bad pixel separately @@ -374,7 +374,7 @@ def save_dcraw_bad_pixels(path, bad_pixels): repair_bad_pixels(raw, coords, method='median') rgb = raw.postprocess() print('badpixel repair+postprocessing:', time.time()-t0, 's') - imageio.imsave('test_hotpixels_repaired.png', rgb) + iio.imwrite('test_hotpixels_repaired.png', rgb) # TODO method 'mean' not implemented yet