Example #1
1
    def dir(self, *filters):
        """Return an alphabetical list of data_element keywords in the dataset.

        Intended mainly for use in interactive Python sessions.

        Parameters
        ----------
        filters : str
            Zero or more string arguments to the function. Used for
            case-insensitive match to any part of the DICOM name.

        Returns
        -------
        All data_element names in this dataset matching the filters.
        If no filters, return all DICOM keywords in the dataset.
        """
        allnames = []
        for tag, data_element in self.items():
            allnames.extend(all_names_for_tag(tag))
        # remove blanks - tags without valid names (e.g. private tags)
        allnames = [x for x in allnames if x]
        # Store found names in a dict, so duplicate names appear only once
        matches = {}
        for filter_ in filters:
            filter_ = filter_.lower()
            match = [x for x in allnames if x.lower().find(filter_) != -1]
            matches.update(dict([(x, 1) for x in match]))
        if filters:
            names = sorted(matches.keys())
            return names
        else:
            return sorted(allnames)
Example #2
0
 def testNameFinding(self):
     """dicom_dictionary: get long and short names for a data_element name"""
     names = all_names_for_tag(Tag(0x300a00b2))  # Treatment Machine Name
     expected = ['TreatmentMachineName']
     self.assertEqual(names, expected, "Expected %s, got %s" % (expected, names))
     names = all_names_for_tag(Tag(0x300A0120))
     expected = ['BeamLimitingDeviceAngle', 'BLDAngle']
     self.assertEqual(names, expected, "Expected %s, got %s" % (expected, names))
Example #3
0
 def testNameFinding(self):
     """dicom_dictionary: get long and short names for a data_element name"""
     names = all_names_for_tag(Tag(0x300a00b2))  # Treatment Machine Name
     expected = ['TreatmentMachineName']
     self.assertEqual(names, expected,
                      "Expected %s, got %s" % (expected, names))
     names = all_names_for_tag(Tag(0x300A0120))
     expected = ['BeamLimitingDeviceAngle', 'BLDAngle']
     self.assertEqual(names, expected,
                      "Expected %s, got %s" % (expected, names))
Example #4
0
    def dir(self, *filters):
        """Return an alphabetical list of data_element keywords in the dataset.

        Intended mainly for use in interactive Python sessions.

        Parameters
        ----------
        filters : str
            Zero or more string arguments to the function. Used for
            case-insensitive match to any part of the DICOM name.

        Returns
        -------
        All data_element names in this dataset matching the filters.
        If no filters, return all DICOM keywords in the dataset.
        """
        allnames = []
        for tag, data_element in self.items():
            allnames.extend(all_names_for_tag(tag))
        # remove blanks - tags without valid names (e.g. private tags)
        allnames = [x for x in allnames if x]
        # Store found names in a dict, so duplicate names appear only once
        matches = {}
        for filter_ in filters:
            filter_ = filter_.lower()
            match = [x for x in allnames if x.lower().find(filter_) != -1]
            matches.update(dict([(x, 1) for x in match]))
        if filters:
            names = sorted(matches.keys())
            return names
        else:
            return sorted(allnames)