diff --git a/components/isceobj/Image/Image.py b/components/isceobj/Image/Image.py index 60b1dfd12..aec214b37 100755 --- a/components/isceobj/Image/Image.py +++ b/components/isceobj/Image/Image.py @@ -370,6 +370,18 @@ def load(self,filename): prop, fac, misc = parser.parse(filename) self.init(prop,fac,misc) ''' + def load(self, filename, parser='xml'): + super(Image, self).load(filename, parser=parser) + base_dir = os.path.dirname(os.path.abspath(filename)) + + # Resolve basename-only image paths relative to the XML file. + # Relative paths that already include a directory are kept unchanged. + if self.filename and not os.path.isabs(self.filename) and not os.path.dirname(self.filename): + self.filename = os.path.join(base_dir, self.filename) + + if self._extraFilename and not os.path.isabs(self._extraFilename) and not os.path.dirname(self._extraFilename): + self._extraFilename = os.path.join(base_dir, self._extraFilename) + @use_api def renderHdr(self, outfile=None): from datetime import datetime