bitstring packageについて – 追記01

さらに IDLEでトライしています こういう時には IDLEは非常に便利ですねえ

>>>xa_bit.find('0xFFC4', bytealigned=Ture)
(10352)
>>>xa_bit.readto('0xFFC4', bytealigned=True)
ConstBitStream('l0xffc4')
>>>xa_bit.pos
10368
>>>hex(xa_bit.pos)
'0x2880'

このように、.readtoにより xa1.dcmという DICOM XA fileの中の最初の DHT markerまでアドレスが移動しました

DICOM XAをビット列として読み込む – bitstring package

資料が少なく苦労しています IDLEを立ち上げて色々とトライしているのです

>>>import bitstring
>>>xa_bit = bitstring.ConstBitStream(filename = 'xa1.dcm')
>>>xa_bit
ConstBitStream(filename='xa1.dcm', length=149355168)
>>>
>>>xa_bit.find('0xFFC4', bytealigned=True)
(10352,)
>>>

というところまで来ました これで、bit列としてxa_bitに DICOM XA fileを読み込むことに成功しました

ちなみに、ここでの lengthは bitの総数であり、バイトで表せば 18,669,396バイト、つまり約18.7MBということになります

また、0xFFC4という dicom tagで byte境界で検索したところ、最初にヒットしたのが、10352 (bits) = 1294 Byteでした これが DHT (Define Huffman Table)のマーカーですね

西宮戎神社
親亀の背中に子亀