A class for easy manipulation of tiff files
Project description
tiff_utils
This class is a simple way of working with tiff files
## Import
from`tiff_utils import tiff
-During reads, all tags are collected and resolution is extracted in microns
-
by default, specifying a file name loads the image, tags and resolution information.
myImage =`tiff(fileName.tif) print(myImage.shape) print(myImage.image.dtype) print(myImage.y_resolution, myImage.x_resolution) print(myImage.tags)
-
loadImage=False can be specified when instantiating the class to load only tags and resolution information.
myImage = tiff(fileName.tiff, loadImage = False)
-
An image can be loaded manually by calling class method: .loadImage()
myImage.loadImage()
-During writes, the class.write() method will automatically:
-
Determine if BigTiff is required (currently files >= 2GB)
myImage.write() # Automatically determines whether BigTiff is required myImage.write(bigTiff=True) # Force the writer to use BigTiff
-
Manage compression (currently defaults to 'zlib')
myImage.write() # Defaults to zlib compression myImage.write(compression=0) # No compression
-
Manage tiled-tiff writes (currently defaults to (512,512))
myImage.write() myImage.write(tile=None) myImage.write(tile=(1024,1024))
CAUTION: be careful when calling .write() because it will overwrite the original image if the file name was not changed.
-Class methods enable easy:
-
Replacement of image with a different np.array: .newImage(array)
myImage =`tiff(fileName.tif) myImage.newImage(array = np.random.random((10,1024,1024),dtype=np.uint16))
-
Assign a new file name: .newFileName(fileNameString)
myImage.newFileName('/a/new/place/to/store/my/file.tif')
-
Conversion of dtype:
myImage.to8bit() myImage.to16bit() myImage.toFloat() myImage.toFloat32() myImage.toFloat64() myImage.toDtype(np.uint16) myImage.toDtype(np.uint8) myImage.toDtype(np.float)
-
Assigning of new resolution in microns: .newResolution((yres,xres))
myImage.newResolution((0.5,0.5))
-
Resizing of image to a specified resolution in microns: .resizeImage((x_res,y_res)) or .resizeImage(int)
myImage.resizeImage((25,25)) #Resize to 25 microns y,x
-
Clone an image class: newClass = currentClass.clone(newFilePath=None, array=None, newResolutionMicrons=None)
newImageClass = myImage.clone()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tiff_utils-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9db2cde214bf1cb97c04cced2f15e07e831faae8b9e2050b3b9058f2291b16cd |
|
MD5 | a5bd86cbdad7e78ceed52bb783926afb |
|
BLAKE2b-256 | 72190ab01d40aa10ffc6fd38c00167c8dfefcf6ef1d1b249fb3ff0d878174190 |