def encode_element(el, is_implicit_VR, is_little_endian): f = DicomBytesIO() f.is_implicit_VR = is_implicit_VR f.is_little_endian = is_little_endian write_data_element(f, el) rawstr = f.parent.getvalue() f.close() return rawstr
def encode(ds, is_implicit_VR, is_little_endian): f = DicomBytesIO() f.is_implicit_VR = is_implicit_VR f.is_little_endian = is_little_endian write_dataset(f, ds) rawstr = f.parent.getvalue() f.close() return rawstr
def defragment_data(data): """Read encapsulated data and return one continuous string data -- string of encapsulated data, typically dataset.PixelData Return all fragments concatenated together as a byte string If PixelData has multiple frames, then should separate out before calling this routine. """ # Convert data into a memory-mapped file fp = DicomBytesIO(data) fp.is_little_endian = True # DICOM standard requires this BasicOffsetTable = read_item(fp) # NOQA seq = [] while True: item = read_item(fp) if not item: # None is returned if get to Sequence Delimiter break seq.append(item) # XXX should return "".join(seq)
def setUp(self): # Create a dummy (in memory) file to write to self.f1 = DicomBytesIO() self.f1.is_little_endian = True self.f1.is_implicit_VR = True