SNAP operations over Sentinel-1A image using python

I am writing the following code:
filterSizeX = ‘5’
filterSizeY = ‘5’
polarisation = ‘VV’
wkt = ‘POLYGON((17.06138 98.4766, 17.07500 98.55027, 17.11833 98.54166, 17.10500 98.46833, 17.06138 98.4766))’
import warnings
import snappy
warnings.filterwarnings(“ignore”)
import os
import sys
import glob
sys.path.append(’/opt/anaconda/bin/’)
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.colors as colors
from snappy import jpy
from snappy import ProductIO
from snappy import GPF
from snappy import HashMap
import gc
data_path = ‘C:\Users\Parul Gahoi\Downloads’
s1_identifier = ‘S1A_IW_GRDH_1SDV_20180124T232710_20180124T232735_020303_022ABC_5D0D.zip’
#s1meta = “manifest.safe”
s1prd = os.path.join(data_path, s1_identifier)
reader = ProductIO.getProductReader(“SENTINEL-1”)
product = reader.readProductNodes(s1prd, None)
HashMap = snappy.jpy.get_type(‘java.util.HashMap’)
GPF.getDefaultInstance().getOperatorSpiRegistry().loadOperatorSpis()
parameters = HashMap()
parameters.put(‘selectedPolarisations’, polarisation)

parameters.put(‘auxFile’ ‘Product Auxiliary File’)

parameters.put(‘outputImageInComplex’, ‘false’)
parameters.put(‘createGammaBand’, ‘false’)
parameters.put(‘createBetaBand’, ‘true’)
parameters.put(‘outputSigmaBand’, ‘false’)
parameters.put(‘outputGammaBand’, ‘false’)
parameters.put(‘outputBetaBand’, ‘true’)
calibration = GPF.createProduct(‘Calibration’, parameters, product)

parameters = HashMap()
parameters.put(‘sourceBands’, ‘Beta0_%s’ % (polarisation))
parameters.put(‘filter’, ‘Lee’)
parameters.put(‘filterSizeX’, filterSizeX)
parameters.put(‘filterSizeY’, filterSizeY)
parameters.put(‘dampingFactor’, ‘2’)
parameters.put(‘estimateENL’, ‘true’)
parameters.put(‘enl’, ‘1.0’)
parameters.put(‘numLooksStr’, ‘1’)
parameters.put(‘targetWindowSizeStr’, ‘3x3’)
parameters.put(‘sigmaStr’, ‘0.9’)
parameters.put(‘anSize’, ‘50’)
speckle_filter = GPF.createProduct(‘Speckle-Filter’, parameters, calibration)

parameters = HashMap()
parameters.put(‘sourceBands’, ‘Beta0_%s’%(polarisation))
parameters.put(‘demName’, ‘SRTM3sec’)
parameters.put(‘externalDEMFile’, ’ ')
parameters.put(‘externalDEMNoDataValue’, ‘0.0’)
parameters.put(‘externalDEMApplyEGM’, ‘true’)
parameters.put(‘demResamplingMethod’, ‘BILINEAR_INTERPOLATION’)
parameters.put(‘imgResamplingMethod’, ‘BILINEAR_INTERPOLATION’)
parameters.put(‘pixelSpacingInMeter’, ‘10.0’)

parameters.put(‘pixelSpacingInDegree’, ‘8.983152841195215E-5’)

parameters.put(‘mapProjection’, ‘AUTO:42001’)
parameters.put(‘nodataValueAtSea’, ‘true’)
parameters.put(‘saveDEM’, ‘false’)
parameters.put(‘saveLatLon’, ‘false’)
parameters.put(‘saveIncidenceAngleFromEllipsoid’, ‘false’)
parameters.put(‘saveProjectedLocalIncidenceAngle’, ‘false’)
parameters.put(‘saveSelectedSourceBand’, ‘true’)
parameters.put(‘outputComplex’, ‘false’)
parameters.put(‘applyRadiometricNormalization’, ‘false’)
parameters.put(‘saveSigmaNought’, ‘false’)
parameters.put(‘saveGammaNought’, ‘false’)
parameters.put(‘saveBetaNought’, ‘false’)
parameters.put(‘incidenceAngleForSigma0’, ‘Use projected local incidence angle from DEM’)
parameters.put(‘incidenceAngleForGamma0’, ‘Use projected local incidence angle from DEM’)
parameters.put(‘auxFile’, ‘Latest Auxiliary File’)
terrain_correction = GPF.createProduct(‘Terrain-Correction’, parameters, speckle_filter)

parameters = HashMap()
parameters.put(‘sourceBands’, ‘Beta0_%s’ % (polarisation))

parameters.put(‘region’, ‘’)

parameters.put(‘geoRegion’, wkt)
parameters.put(‘subSamplingX’, ‘1’)
parameters.put(‘subSamplingY’, ‘1’)
parameters.put(‘fullSwath’, ‘false’)
parameters.put(‘tiePointGridNames’, ‘’)
parameters.put(‘copyMetadata’, ‘true’)
subset = GPF.createProduct(‘Subset’, parameters, terrain_correction)

thermal_noise_removal = None
apply_orbit_file = None
calibration = None
speckle_filter = None
terrain_correction = None

gc.collect()

ProductIO.writeProduct(subset, s1_identifier + ‘.tiff’, ‘GeoTIFF-BigTIFF’)

def plotBand(product, band, vmin, vmax):

band_names = product.getBandNames()
bands = list(band_names)
print(band_names)
band = product.getBand(bands[0])
w = band.getRasterWidth()
h = band.getRasterHeight()

band_data = np.zeros(w * h, np.float32)
band.readPixels(0, 0, w, h, band_data)

band_data.shape = h, w

width = 12
height = 12
plt.figure(figsize=(width, height))
imgplot = plt.imshow(band_data, cmap=plt.cm.binary, vmin=vmin, vmax=vmax)

return imgplot 

plotBand(subset, ‘Beta0_%s’ % (polarisation), 0, 0.3)

I am getting an error:

Traceback (most recent call last):

File “D:/programs/full.py”, line 103, in

ProductIO.writeProduct(subset, s1_identifier + ‘.tiff’, ‘GeoTIFF-BigTIFF’)
`
RuntimeError: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

Please help me out. @ABraun @marpet