示例#1
0
 def to_node(self, doc, tag, ns_key=None, parent=None, check_validity=False, strict=DEFAULT_STRICT):
     anode = super(SegmentListType, self).to_node(
         doc, tag, ns_key=ns_key, parent=parent, check_validity=check_validity, strict=strict)
     create_text_node(
         doc, 'NumSegments' if ns_key is None else '{}:NumSegments'.format(ns_key),
         '{0:d}'.format(self.NumSegments), parent=anode)
     return anode
示例#2
0
    def to_node(self,
                doc,
                tag,
                ns_key=None,
                parent=None,
                check_validity=False,
                strict=DEFAULT_STRICT,
                exclude=()):
        node = super(MonochromeDisplayRemapType,
                     self).to_node(doc,
                                   tag,
                                   ns_key=ns_key,
                                   parent=parent,
                                   check_validity=check_validity,
                                   strict=strict)
        if 'RemapLUT' in self._child_xml_ns_key:
            rtag = '{}:RemapLUT'.format(self._child_xml_ns_key['RemapLUT'])
        elif ns_key is not None:
            rtag = '{}:RemapLUT'.format(ns_key)
        else:
            rtag = 'RemapLUT'

        if self._remap_lut is not None:
            value = ' '.join('{0:d}'.format(entry)
                             for entry in self._remap_lut)
            entry = create_text_node(doc, rtag, value, parent=node)
            entry.attrib['size'] = str(self._remap_lut.size)
        return node
示例#3
0
    def to_node(self,
                doc,
                tag,
                ns_key=None,
                parent=None,
                check_validity=False,
                strict=DEFAULT_STRICT,
                exclude=()):
        if parent is None:
            parent = doc.getroot()
        if ns_key is None:
            node = create_new_node(doc, tag, parent=parent)
        else:
            node = create_new_node(doc,
                                   '{}:{}'.format(ns_key, tag),
                                   parent=parent)

        if 'RemapLUT' in self._child_xml_ns_key:
            rtag = '{}:RemapLUT'.format(self._child_xml_ns_key['RemapLUT'])
        elif ns_key is not None:
            rtag = '{}:RemapLUT'.format(ns_key)
        else:
            rtag = 'RemapLUT'

        if self._remap_lut is not None:
            value = ' '.join('{0:d},{1:d},{2:d}'.format(*entry)
                             for entry in self._remap_lut)
            entry = create_text_node(doc, rtag, value, parent=node)
            entry.attrib['size'] = str(self.size)
        return node
示例#4
0
文件: blocks.py 项目: ngageoint/sarpy
    def to_node(self, doc, tag, ns_key=None, parent=None, check_validity=False, strict=DEFAULT_STRICT, exclude=()):
        if parent is None:
            parent = doc.getroot()
        if ns_key is None:
            node = create_new_node(doc, tag, parent=parent)
        else:
            node = create_new_node(doc, '{}:{}'.format(ns_key, tag), parent=parent)

        if 'Coefs' in self._child_xml_ns_key:
            ctag = '{}:Coef'.format(self._child_xml_ns_key['Coefs'])
        elif ns_key is not None:
            ctag = '{}:Coef'.format(ns_key)
        else:
            ctag = 'Coef'

        node.attrib['numPhasings'] = str(self.numPhasings)
        node.attrib['numPoints'] = str(self.numPoints)
        fmt_func = self._get_formatter('Coefs')
        for i, val1 in enumerate(self._coefs):
            for j, val in enumerate(val1):
                # if val != 0.0:  # should we serialize it sparsely?
                cnode = create_text_node(doc, ctag, fmt_func(val), parent=node)
                cnode.attrib['phasing'] = str(i)
                cnode.attrib['point'] = str(j)
        return node
示例#5
0
 def to_node(self,
             doc,
             tag,
             ns_key=None,
             parent=None,
             check_validity=False,
             strict=DEFAULT_STRICT,
             exclude=()):
     exclude = exclude + ('ModuleName', 'name', 'ProcessingModules')
     node = super(ProcessingModuleType,
                  self).to_node(doc,
                                tag,
                                ns_key=ns_key,
                                parent=parent,
                                check_validity=check_validity,
                                strict=strict,
                                exclude=exclude)
     # add the ModuleName and name children
     if self.ModuleName is not None:
         mn_key = self._child_xml_ns_key.get('ModuleName', ns_key)
         mn_tag = '{}:ModuleName'.format(
             mn_key
         ) if mn_key is not None and mn_key != 'default' else 'ModuleName'
         mn_node = create_text_node(doc,
                                    mn_tag,
                                    self.ModuleName,
                                    parent=node)
         if self.name is not None:
             mn_node.attrib['name'] = self.name
     # add the ProcessingModule children
     pm_key = self._child_xml_ns_key.get('ProcessingModules', ns_key)
     for entry in self._ProcessingModules:
         entry.to_node(doc, tag, ns_key=pm_key, parent=node, strict=strict)
     return node
示例#6
0
 def _serialize_point(coords, doc, tag, parent):
     if len(coords) < 2:
         raise ValueError('coords must have at least two elements')
     fmt_func = '{0:0.16G}'.format
     node = create_new_node(doc, tag, parent=parent)
     create_text_node(doc, 'sfa:X', fmt_func(coords[0]), parent=node)
     create_text_node(doc, 'sfa:Y', fmt_func(coords[1]), parent=node)
     if len(coords) > 2:
         create_text_node(doc, 'sfa:Z', fmt_func(coords[2]), parent=node)
     if len(coords) > 3:
         create_text_node(doc, 'sfa:M', fmt_func(coords[3]), parent=node)
示例#7
0
文件: blocks.py 项目: ngageoint/sarpy
 def make_entry(arr):
     value = ' '.join(str(el) for el in arr)
     entry = create_text_node(doc, ltag, value, parent=node)
     entry.attrib['lut'] = str(arr.size)