def ToDict(lcImageDataFile):
    logger.info('Serializng Land cover data in '+ lcImageDataFile + ' to dictionary')

    try:
        eDict=Helpers.getLandCoverReferenceDict()
        print eDict

        lineNo=0
        elemNameArr=[]
        elemDataArr=[]
        elemNamePosition=0

        for i in open(lcImageDataFile,'r'):
            lineNo+=1
            line=i.strip()
            logger.info(line)


            if lineNo==1 and re.match("^[0-9,]*$", line):
                elemNameArr = line.split(',')

            if lineNo==2 and re.match("^[0-9,.]*$",i):
                elemDataArr = line.split(',')

            if lineNo > 2:
                break

        if lineNo <2:
            logger.error('I expected at least 2 lines of data in land cover. File format has been changed. System Will break')

        for i in elemNameArr:

            keyName = 'L1_'+ str(i)
            logger.info(keyName)
            try:
                val =  str(elemDataArr[elemNamePosition])
            except IndexError:
                logger.exception('No data found matching key:'+ keyName + ' in landcover output')
                raise
            except:
                logger.exception('Other error reading landcover data')
                raise

            try:
                eDict["data"][keyName] = elemDataArr[elemNamePosition]
            except KeyError:
                logger.exception( 'Invalid Data in landcover output.'+ keyName + '. Tried to find this key in ' + str(eDict))
            except:
                logger.exception( 'Other error while assigning land cover data to dictionary' + str(eDict))
                raise


            elemNamePosition +=1

        # lets check the dictionary to make sure it does not have all 0's

        #valSet= set([ v for k,v in eDict.iteritems()])
        #if len(valSet) == 1 and '0' in valSet:
        #    logger.error('No Land Cover Data was extracted for this image. Something must be wrong.')


        return eDict



    except:
        logger.exception('Error Getting Land cover data from matlab land cover file: '+ lcImageDataFile)
        raise
 def test_landCoverRefDataIsDict(self):
     self.assertTrue(type(Helpers.getLandCoverReferenceDict()),dict)