Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (18.4k points)

This is my code: 

import SimpleITK as sitk

reader = sitk.ImageFileReader()

reader.SetFileName(filePath)

reader.ReadImageInformation()

img = reader.Execute()

meta = {

    "a": reader.GetMetaData('0'), <- if not exist return 'undeinfed'

    "b": reader.GetMetaData('1'),

    "c": reader.GetMetaData('2'),

}

I am a javascript developer. I want to set the meta dict and it shows an error 

'Key '0' does not exist'.

How to exist in this case?

1 Answer

0 votes
by (36.8k points)

The ImageFileReader class has a HasMetaDataKey() boolean function. So you should be able to do something like this:

meta = {

    "a": reader.GetMetaData('0') if reader.HasMetaDataKey('0') else 'undefined',

    "b": reader.GetMetaData('1') if reader.HasMetaDataKey('1') else 'undefined',

    "c": reader.GetMetaData('2') if reader.HasMetaDataKey('2') else 'undefined',

}

And also, you could do in one (long) line:

meta = {m: reader.GetMetaData(k) if reader.HasMetaDataKey(k) else 'undefined'

        for m, k in zip(['a', 'b', 'c'], ['0', '1', '2'])}

If you are a beginner then do learn python from scratch.

Browse Categories

...