本文整理汇总了Python中pydicom.dataset.Dataset.SOPInstanceUID方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.SOPInstanceUID方法的具体用法?Python Dataset.SOPInstanceUID怎么用?Python Dataset.SOPInstanceUID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pydicom.dataset.Dataset
的用法示例。
在下文中一共展示了Dataset.SOPInstanceUID方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testEqualitySequence
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def testEqualitySequence(self):
"""Dataset: equality returns correct value when dataset has sequences"""
# Test even sequences
d = Dataset()
d.SOPInstanceUID = "1.2.3.4"
d.BeamSequence = []
beam_seq = Dataset()
beam_seq.PatientName = "ANON"
d.BeamSequence.append(beam_seq)
self.assertTrue(d == d)
e = Dataset()
e.SOPInstanceUID = "1.2.3.4"
e.BeamSequence = []
beam_seq = Dataset()
beam_seq.PatientName = "ANON"
e.BeamSequence.append(beam_seq)
self.assertTrue(d == e)
e.BeamSequence[0].PatientName = "ANONY"
self.assertFalse(d == e)
# Test uneven sequences
e.BeamSequence[0].PatientName = "ANON"
self.assertTrue(d == e)
e.BeamSequence.append(beam_seq)
self.assertFalse(d == e)
d.BeamSequence.append(beam_seq)
self.assertTrue(d == e)
d.BeamSequence.append(beam_seq)
self.assertFalse(d == e)
示例2: test_inequality
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_inequality(self):
"""Test inequality operator"""
d = Dataset()
d.SOPInstanceUID = '1.2.3.4'
self.assertFalse(d != d)
e = Dataset()
e.SOPInstanceUID = '1.2.3.5'
self.assertTrue(d != e)
示例3: test_equality_elements
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_equality_elements(self):
"""Test that Dataset equality only checks DataElements."""
d = Dataset()
d.SOPInstanceUID = '1.2.3.4'
d.PatientName = 'Test'
d.foo = 'foo'
assert d == d
e = Dataset()
e.PatientName = 'Test'
e.SOPInstanceUID = '1.2.3.4'
assert d == e
示例4: test_group_dataset
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_group_dataset(self):
"""Test Dataset.group_dataset"""
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.CommandLengthToEnd = 111 # 0000,0001
ds.Overlays = 12 # 0000,51B0
ds.LengthToEnd = 12 # 0008,0001
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
ds.SkipFrameRangeFlag = 'TEST' # 0008,9460
# Test getting group 0x0000
group0000 = ds.group_dataset(0x0000)
self.assertTrue('CommandGroupLength' in group0000)
self.assertTrue('CommandLengthToEnd' in group0000)
self.assertTrue('Overlays' in group0000)
self.assertFalse('LengthToEnd' in group0000)
self.assertFalse('SOPInstanceUID' in group0000)
self.assertFalse('SkipFrameRangeFlag' in group0000)
# Test getting group 0x0008
group0000 = ds.group_dataset(0x0008)
self.assertFalse('CommandGroupLength' in group0000)
self.assertFalse('CommandLengthToEnd' in group0000)
self.assertFalse('Overlays' in group0000)
self.assertTrue('LengthToEnd' in group0000)
self.assertTrue('SOPInstanceUID' in group0000)
self.assertTrue('SkipFrameRangeFlag' in group0000)
示例5: test_delitem_slice
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_delitem_slice(self):
"""Test Dataset.__delitem__ using slices."""
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.CommandLengthToEnd = 111 # 0000,0001
ds.Overlays = 12 # 0000,51B0
ds.LengthToEnd = 12 # 0008,0001
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
ds.SkipFrameRangeFlag = 'TEST' # 0008,9460
ds.add_new(0x00090001, 'PN', 'CITIZEN^1')
ds.add_new(0x00090002, 'PN', 'CITIZEN^2')
ds.add_new(0x00090003, 'PN', 'CITIZEN^3')
ds.add_new(0x00090004, 'PN', 'CITIZEN^4')
ds.add_new(0x00090005, 'PN', 'CITIZEN^5')
ds.add_new(0x00090006, 'PN', 'CITIZEN^6')
ds.add_new(0x00090007, 'PN', 'CITIZEN^7')
ds.add_new(0x00090008, 'PN', 'CITIZEN^8')
ds.add_new(0x00090009, 'PN', 'CITIZEN^9')
ds.add_new(0x00090010, 'PN', 'CITIZEN^10')
ds.PatientName = 'CITIZEN^Jan' # 0010,0010
ds.PatientID = '12345' # 0010,0010
ds.ExaminedBodyThickness = 1.223 # 0010,9431
ds.BeamSequence = [Dataset()] # 300A,00B0
ds.BeamSequence[0].PatientName = 'ANON'
# Delete the 0x0009 group
del ds[0x00090000:0x00100000]
self.assertTrue('SkipFrameRangeFlag' in ds)
self.assertFalse(0x00090001 in ds)
self.assertFalse(0x00090010 in ds)
self.assertTrue('PatientName' in ds)
示例6: test_get_item
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_get_item(self):
"""Test Dataset.get_item"""
# TODO: Add test for deferred read
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
# Test non-deferred read
self.assertEqual(ds.get_item(0x00000000), ds[0x00000000])
self.assertEqual(ds.get_item(0x00000000).value, 120)
self.assertEqual(ds.get_item(0x00080018), ds[0x00080018])
self.assertEqual(ds.get_item(0x00080018).value, '1.2.3.4')
示例7: testEqualityNoSequence
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def testEqualityNoSequence(self):
"""Dataset: equality returns correct value with simple dataset"""
d = Dataset()
d.SOPInstanceUID = "1.2.3.4"
self.assertTrue(d == d)
e = Dataset()
e.SOPInstanceUID = "1.2.3.4"
self.assertTrue(d == e)
e.SOPInstanceUID = "1.2.3.5"
self.assertFalse(d == e)
# Check VR
del e.SOPInstanceUID
e.add(DataElement(0x00080018, "PN", "1.2.3.4"))
self.assertFalse(d == e)
# Check Tag
del e.SOPInstanceUID
e.StudyInstanceUID = "1.2.3.4"
self.assertFalse(d == e)
# Check missing Element in self
e.SOPInstanceUID = "1.2.3.4"
self.assertFalse(d == e)
# Check missing Element in other
d = Dataset()
d.SOPInstanceUID = "1.2.3.4"
d.StudyInstanceUID = "1.2.3.4.5"
e = Dataset()
e.SOPInstanceUID = "1.2.3.4"
self.assertFalse(d == e)
示例8: _create_temporary_dataset
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def _create_temporary_dataset(shape=(100, 1024, 1024, 3), bit_depth=16):
"""Function to create a temporary dataset for use in testing.
Parameters
----------
shape : 4-tuple
The (frames, rows, columns, channels) of the test dataset.
bit_depth : int
The BitsAllocated value to use for the dataset, one of 8, 16, 32, 64.
Returns
-------
tempfile.TemporaryFile
A created DICOM File Format conformant dataset.
"""
ds = Dataset()
ds.is_little_endian = True
ds.is_implicit_VR = False
ds.file_meta = Dataset()
ds.file_meta.TransferSyntaxUID = ExplicitVRLittleEndian
ds.SOPClassUID = '1.2.3.4'
ds.SOPInstanceUID = generate_uid()
ds.BitsAllocated = bit_depth
ds.PixelRepresentation = 0
ds.PlanarConfiguration = 0
ds.Rows = shape[1]
ds.Columns = shape[2]
ds.NumberOfFrames = shape[0]
ds.SamplesPerPixel = shape[3]
if shape[3] == 1:
ds.PhotometricInterpretation = 'MONOCHROME2'
elif shape[3] == 3:
ds.PhotometricInterpretation = 'RGB'
arr = np.zeros(shape, dtype='uint{}'.format(bit_depth))
ds.PixelData = arr.tobytes()
if len(ds.PixelData) % 2:
ds.PixelData += b'\x00'
tfile = TemporaryFile(mode='w+b')
ds.save_as(tfile, write_like_original=False)
tfile.seek(0)
return tfile
示例9: test_get_item
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_get_item(self):
"""Test Dataset.get_item"""
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
# Test non-deferred read
assert ds.get_item(0x00000000) == ds[0x00000000]
assert ds.get_item(0x00000000).value == 120
assert ds.get_item(0x00080018) == ds[0x00080018]
assert ds.get_item(0x00080018).value == '1.2.3.4'
# Test deferred read
test_file = get_testdata_files('MR_small.dcm')[0]
ds = dcmread(test_file, force=True, defer_size='0.8 kB')
ds_ref = dcmread(test_file, force=True)
# get_item will follow the deferred read branch
assert ds.get_item((0x7fe00010)).value == ds_ref.PixelData
示例10: test_getitem_slice_ffff
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_getitem_slice_ffff(self):
"""Test slicing with (FFFF,FFFF)"""
# Issue #92
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.CommandLengthToEnd = 111 # 0000,0001
ds.Overlays = 12 # 0000,51B0
ds.LengthToEnd = 12 # 0008,0001
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
ds.SkipFrameRangeFlag = 'TEST' # 0008,9460
ds.add_new(0xFFFF0001, 'PN', 'CITIZEN^1')
ds.add_new(0xFFFF0002, 'PN', 'CITIZEN^2')
ds.add_new(0xFFFF0003, 'PN', 'CITIZEN^3')
ds.add_new(0xFFFFFFFE, 'PN', 'CITIZEN^4')
ds.add_new(0xFFFFFFFF, 'PN', 'CITIZEN^5')
assert ds[:][0xFFFFFFFF].value == 'CITIZEN^5'
assert 0xFFFFFFFF not in ds[0x1000:0xFFFFFFFF]
assert 0xFFFFFFFF not in ds[(0x1000):(0xFFFF, 0xFFFF)]
示例11: testEqualityNoSequence
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def testEqualityNoSequence(self):
"""Dataset: equality returns correct value with simple dataset"""
# Test empty dataset
assert Dataset() == Dataset()
d = Dataset()
d.SOPInstanceUID = '1.2.3.4'
d.PatientName = 'Test'
assert d == d
e = Dataset()
e.PatientName = 'Test'
e.SOPInstanceUID = '1.2.3.4'
assert d == e
e.SOPInstanceUID = '1.2.3.5'
assert not d == e
# Check VR
del e.SOPInstanceUID
e.add(DataElement(0x00080018, 'PN', '1.2.3.4'))
assert not d == e
# Check Tag
del e.SOPInstanceUID
e.StudyInstanceUID = '1.2.3.4'
assert not d == e
# Check missing Element in self
e.SOPInstanceUID = '1.2.3.4'
assert not d == e
# Check missing Element in other
d = Dataset()
d.SOPInstanceUID = '1.2.3.4'
d.StudyInstanceUID = '1.2.3.4.5'
e = Dataset()
e.SOPInstanceUID = '1.2.3.4'
assert not d == e
示例12: testEqualityNoSequence
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def testEqualityNoSequence(self):
"""Dataset: equality returns correct value with simple dataset"""
d = Dataset()
d.SOPInstanceUID = '1.2.3.4'
d.PatientName = 'Test'
self.assertTrue(d == d)
e = Dataset()
e.PatientName = 'Test'
e.SOPInstanceUID = '1.2.3.4'
self.assertTrue(d == e)
e.SOPInstanceUID = '1.2.3.5'
self.assertFalse(d == e)
# Check VR
del e.SOPInstanceUID
e.add(DataElement(0x00080018, 'PN', '1.2.3.4'))
self.assertFalse(d == e)
# Check Tag
del e.SOPInstanceUID
e.StudyInstanceUID = '1.2.3.4'
self.assertFalse(d == e)
# Check missing Element in self
e.SOPInstanceUID = '1.2.3.4'
self.assertFalse(d == e)
# Check missing Element in other
d = Dataset()
d.SOPInstanceUID = '1.2.3.4'
d.StudyInstanceUID = '1.2.3.4.5'
e = Dataset()
e.SOPInstanceUID = '1.2.3.4'
self.assertFalse(d == e)
示例13: testEqualityNotDataset
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def testEqualityNotDataset(self):
"""Dataset: equality returns correct value when not the same class"""
d = Dataset()
d.SOPInstanceUID = "1.2.3.4"
self.assertFalse(d == {"SOPInstanceUID": "1.2.3.4"})
示例14: test_getitem_slice
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_getitem_slice(self):
"""Test Dataset.__getitem__ using slices."""
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.CommandLengthToEnd = 111 # 0000,0001
ds.Overlays = 12 # 0000,51B0
ds.LengthToEnd = 12 # 0008,0001
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
ds.SkipFrameRangeFlag = 'TEST' # 0008,9460
ds.add_new(0x00090001, 'PN', 'CITIZEN^1')
ds.add_new(0x00090002, 'PN', 'CITIZEN^2')
ds.add_new(0x00090003, 'PN', 'CITIZEN^3')
ds.add_new(0x00090004, 'PN', 'CITIZEN^4')
ds.add_new(0x00090005, 'PN', 'CITIZEN^5')
ds.add_new(0x00090006, 'PN', 'CITIZEN^6')
ds.add_new(0x00090007, 'PN', 'CITIZEN^7')
ds.add_new(0x00090008, 'PN', 'CITIZEN^8')
ds.add_new(0x00090009, 'PN', 'CITIZEN^9')
ds.add_new(0x00090010, 'PN', 'CITIZEN^10')
ds.PatientName = 'CITIZEN^Jan' # 0010,0010
ds.PatientID = '12345' # 0010,0010
ds.ExaminedBodyThickness = 1.223 # 0010,9431
ds.BeamSequence = [Dataset()] # 300A,00B0
ds.BeamSequence[0].PatientName = 'ANON'
# Slice all items - should return original dataset
self.assertEqual(ds[:], ds)
# Slice starting from and including (0008,0001)
test_ds = ds[0x00080001:]
self.assertFalse('CommandGroupLength' in test_ds)
self.assertFalse('CommandLengthToEnd' in test_ds)
self.assertFalse('Overlays' in test_ds)
self.assertTrue('LengthToEnd' in test_ds)
self.assertTrue('BeamSequence' in test_ds)
# Slice ending at and not including (0009,0002)
test_ds = ds[:0x00090002]
self.assertTrue('CommandGroupLength' in test_ds)
self.assertTrue('CommandLengthToEnd' in test_ds)
self.assertTrue('Overlays' in test_ds)
self.assertTrue('LengthToEnd' in test_ds)
self.assertTrue(0x00090001 in test_ds)
self.assertFalse(0x00090002 in test_ds)
self.assertFalse('BeamSequence' in test_ds)
# Slice with a step - every second tag
# Should return zeroth tag, then second, fourth, etc...
test_ds = ds[::2]
self.assertTrue('CommandGroupLength' in test_ds)
self.assertFalse('CommandLengthToEnd' in test_ds)
self.assertTrue(0x00090001 in test_ds)
self.assertFalse(0x00090002 in test_ds)
# Slice starting at and including (0008,0018) and ending at and not
# including (0009,0008)
test_ds = ds[0x00080018:0x00090008]
self.assertTrue('SOPInstanceUID' in test_ds)
self.assertTrue(0x00090007 in test_ds)
self.assertFalse(0x00090008 in test_ds)
# Slice starting at and including (0008,0018) and ending at and not
# including (0009,0008), every third element
test_ds = ds[0x00080018:0x00090008:3]
self.assertTrue('SOPInstanceUID' in test_ds)
self.assertFalse(0x00090001 in test_ds)
self.assertTrue(0x00090002 in test_ds)
self.assertFalse(0x00090003 in test_ds)
self.assertFalse(0x00090004 in test_ds)
self.assertTrue(0x00090005 in test_ds)
self.assertFalse(0x00090006 in test_ds)
self.assertFalse(0x00090008 in test_ds)
# Slice starting and ending (and not including) (0008,0018)
self.assertEqual(
ds[(0x0008, 0x0018):(0x0008, 0x0018)],
Dataset())
# Test slicing using other acceptable Tag initialisations
self.assertTrue(
'SOPInstanceUID' in ds[(0x00080018):(0x00080019)])
self.assertTrue(
'SOPInstanceUID' in ds[(0x0008, 0x0018):(0x0008, 0x0019)])
self.assertTrue(
'SOPInstanceUID' in ds['0x00080018':'0x00080019'])
示例15: test_get_item_slice
# 需要导入模块: from pydicom.dataset import Dataset [as 别名]
# 或者: from pydicom.dataset.Dataset import SOPInstanceUID [as 别名]
def test_get_item_slice(self):
"""Test Dataset.get_item with slice argument"""
# adapted from test_getitem_slice
ds = Dataset()
ds.CommandGroupLength = 120 # 0000,0000
ds.CommandLengthToEnd = 111 # 0000,0001
ds.Overlays = 12 # 0000,51B0
ds.LengthToEnd = 12 # 0008,0001
ds.SOPInstanceUID = '1.2.3.4' # 0008,0018
ds.SkipFrameRangeFlag = 'TEST' # 0008,9460
ds.add_new(0x00090001, 'PN', 'CITIZEN^1')
ds.add_new(0x00090002, 'PN', 'CITIZEN^2')
ds.add_new(0x00090003, 'PN', 'CITIZEN^3')
elem = RawDataElement(0x00090004, 'PN', 9, b'CITIZEN^4', 0, True, True)
ds.__setitem__(0x00090004, elem)
elem = RawDataElement(0x00090005, 'PN', 9, b'CITIZEN^5', 0, True, True)
ds.__setitem__(0x00090005, elem)
elem = RawDataElement(0x00090006, 'PN', 9, b'CITIZEN^6', 0, True, True)
ds.__setitem__(0x00090006, elem)
ds.PatientName = 'CITIZEN^Jan' # 0010,0010
elem = RawDataElement(0x00100020, 'LO', 5, b'12345', 0, True, True)
ds.__setitem__(0x00100020, elem) # Patient ID
ds.ExaminedBodyThickness = 1.223 # 0010,9431
ds.BeamSequence = [Dataset()] # 300A,00B0
ds.BeamSequence[0].PatientName = 'ANON'
# Slice all items - should return original dataset
assert ds.get_item(slice(None, None)) == ds
# Slice starting from and including (0008,0001)
test_ds = ds.get_item(slice(0x00080001, None))
assert 'CommandGroupLength' not in test_ds
assert 'CommandLengthToEnd' not in test_ds
assert 'Overlays' not in test_ds
assert 'LengthToEnd' in test_ds
assert 'BeamSequence' in test_ds
# Slice ending at and not including (0009,0002)
test_ds = ds.get_item(slice(None, 0x00090002))
assert 'CommandGroupLength' in test_ds
assert 'CommandLengthToEnd' in test_ds
assert 'Overlays' in test_ds
assert 'LengthToEnd' in test_ds
assert 0x00090001 in test_ds
assert 0x00090002 not in test_ds
assert 'BeamSequence' not in test_ds
# Slice with a step - every second tag
# Should return zeroth tag, then second, fourth, etc...
test_ds = ds.get_item(slice(None, None, 2))
assert 'CommandGroupLength' in test_ds
assert 'CommandLengthToEnd' not in test_ds
assert 0x00090001 in test_ds
assert 0x00090002 not in test_ds
# Slice starting at and including (0008,0018) and ending at and not
# including (0009,0008)
test_ds = ds.get_item(slice(0x00080018, 0x00090006))
assert 'SOPInstanceUID' in test_ds
assert 0x00090005 in test_ds
assert 0x00090006 not in test_ds
# Slice starting at and including (0008,0018) and ending at and not
# including (0009,0006), every third element
test_ds = ds.get_item(slice(0x00080018, 0x00090008, 3))
assert 'SOPInstanceUID' in test_ds
assert 0x00090001 not in test_ds
assert 0x00090002 in test_ds
assert not test_ds.get_item(0x00090002).is_raw
assert 0x00090003 not in test_ds
assert 0x00090004 not in test_ds
assert 0x00090005 in test_ds
assert test_ds.get_item(0x00090005).is_raw
assert 0x00090006 not in test_ds
# Slice starting and ending (and not including) (0008,0018)
assert ds.get_item(slice((0x0008, 0x0018),
(0x0008, 0x0018))) == Dataset()
# Test slicing using other acceptable Tag initialisations
assert 'SOPInstanceUID' in ds.get_item(slice(0x00080018, 0x00080019))
assert 'SOPInstanceUID' in ds.get_item(slice((0x0008, 0x0018),
(0x0008, 0x0019)))
assert 'SOPInstanceUID' in ds.get_item(slice('0x00080018',
'0x00080019'))