I am processing .tif raster files in an arcpy script that converts a mosaicked tiff into a grayscale image. As the input raster
InputRaster file is a mosaic and quite large (uncompressed size around 50GB) I would like to apply compression setting LZW to the grayscaled version using the setting
arcpy.env.compression = "LZW" in arcpy. The LZW compression in the script works executed with ArcGIS 10.4.1 Python 2.7 environment (I am using IDLE and a standalone version), however I am having problems with implementing this in with Python 3.6 (Jupyter Notebook, installed with ArcGIS Pro 2.2.2). The grayscaled .tif file is created but still uncompressed. As I would like to use 64bit background processing coming with ArcGIS Pro, I am wondering if anyone has had similar experiences?
Arcpy script (Python 3.6) is below
import arcpy import os from arcpy import env from arcpy.sa import * arcpy.env.overwriteOutput = True # Define the output settings for compression arcpy.env.pyramid = "PYRAMIDS -1 BILINEAR LZW 10" arcpy.env.compression = "LZW" ## compression settings pylevel = "-1" skipfirst = "NONE" resample = "BILINEAR" compress = "LZ77" quality = "10" skipexist = "SKIP_EXISTING" mosaicname = r"D:InputRaster.tif" subdirectory_gray = r'D:\DataExport' Band_1 = arcpy.Raster(os.path.join(mosaicname, "Band_1")) Band_2 = arcpy.Raster(os.path.join(mosaicname, "Band_2")) Band_3 = arcpy.Raster(os.path.join(mosaicname, "Band_3")) print("Bands read in") arcpy.CheckOutExtension("spatial") # calculate SW grayscale image and compress it arcpy.env.compression = "LZW" SW_raster = (Band_1 + Band_2 + Band_3)/3 filename = os.path.basename(mosaicname) mosaicname_SW = os.path.join(subdirectory_gray, filename) mosaicname_SW = mosaicname_SW.replace(".tif", "_SW.tif") print("Saving grayscale image") SW_raster.save(mosaicname_SW) print("Building pyramids") inras = mosaicname_SW arcpy.BuildPyramids_management(in_raster_dataset= inras, pyramid_level=pylevel, resample_technique=resample,compression_type=compress, compression_quality=quality, skip_existing=skipexist) arcpy.CheckInExtension("spatial") print("Grayscale image saved at: " + mosaicname_SW)