亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.pas

?? DICOM文件的讀寫程序
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
          $1090: info := 'manufacturer''s model name';
        end;
    	$0010 :
        case element of
        	$00 :  info := 'patient group';
          $10 :  begin info := 'patient name'; t := _string; end;
          $20 :  info := 'patient ID';
          $30 :  info := 'patient date of birth';
          $40 :  begin info := 'patient sex';  t := _string; end;
          $1010: info := 'patient age';
          $1030: info := 'patient weight';
          $21b0: info := 'additional patient history';
				end;
			$0018 :
        case element of
					$00 :  info := 'acquisition group';
          $10 :  begin info := 'contrast/bolus agent'; t := _string; end;
          $20 :  info := 'scanning sequence';
          $21 :  info := 'Sequence Variant';
          $22 :  info := 'Scan Options';
          $23 :  begin info := 'MR Acquisition Type'; t := _string; end;
          $24 :  info := 'Sequence Name';
          $25 :  info := 'Angio Flag';
          $30 :  info := 'radionuclide';
          $50 :  info := 'slice thickness';
          $80 :  info := 'repetition time';
          $81 :  info := 'echo time';
          $82 :  info := 'inversion time';
          $83 :  info := 'Number of Averages';
          $84 :  info := 'Imaging Frequency';
          $85 :  begin info := 'Imaged Nucleus';  t := _string; end;
          $86 :  info := 'Echo Number';
          $87 :  info := 'Magnetic Field Strength';
          $88 :  info := 'Spacing Between Slices';
          $91 :  info := 'Echo Train Length';
          $95 :  info := 'Pixel Bandwidth';
          $1020: info := 'software version';
          $1030: info := 'protocol name';
          $1088: info := 'Heart Rate';
          $1090: info := 'Cardiac Number of Images';
          $1094: info := 'Trigger Window';
          $1100: info := 'Reconstruction Diameter';
          $1120: info := 'gantry tilt';
          $1250: info := 'Receiving Coil';
          $1251: info := 'Transmitting Coil';
          $1310: info := 'Acquisition Matrix';
          $1314: info := 'Flip Angle';
          $1316: info := 'SAR';
          $5100: info := 'Patient Position';
				end;
			$0020 :
        case element of
					$00 :  info := 'relationship group';
          $0d :  info := 'Study Instance UID';
          $0e :  info := 'Series Instance UID';
          $10 :  info := 'study id';
          $11 :  begin info := 'series number';       t := _string; end;
          $12 :  begin info := 'acquisition number';  t := _string; end;
          $13 :  begin info := 'image number';        t := _string; end;
          $20 :  begin info := 'patient orientation'; t := _string; end;
          $30 :  info := 'image position';
          $32 :  info := 'Image Position Patient';
          $35 :  info := 'image orientation';
          $37 :  info := 'Image Orientation (Patient)';
          $50 :  info := 'location';
          $52 :  info := 'Frame of Reference UID';
          $60 :  info := 'Laterality';
          $1002: info := 'images in acquisition';
          $1040: info := 'position reference';
          $1041: info := 'slice location';
          $3401: info := 'modifying device id';
          $3402: info := 'modified image id';
          $3403: info := 'modified image date';
          $3404: info := 'modifying device mfg.';
          $3405: info := 'modified image time';
          $3406: info := 'modified image desc.';
          $5000: info := 'original image id';
				end;
			$0028 :
        case element of
        	$00 :  info := 'image presentation group';
          $02 :  info := 'samples per pixel';
          $04 :  info := 'Photometric Interpretation';
          $05 :  info := 'image dimensions';
          $10 :  begin info := 'rows';
          				height := read16(fp);
          				tmp := height;
                  remaining := 0;
                 end;
					$11 :  begin info := 'columns';
          				width := read16(fp);
          				tmp := height;
                  remaining := 0;
                 end;
          $30 :  info := 'pixel size';
          $50 :  info := 'manipulated image';
          $0100: begin info := 'bits allocated';
									tmp := read16(fp);
                  if tmp = 8 then bytes_per_pixel := 1
                  else if tmp = 16 then bytes_per_pixel := 2
                  else
                  begin
                  	writeln(textfp, IntToStr(tmp));
                    exit;
									end;
                  remaining := 0;
                 end;
        	$0101: begin info := 'bits stored';
          				tmp := read16(fp);
                  if tmp <= 8 then bytes_per_pixel := 1
                  else if tmp <= 16 then bytes_per_pixel := 2
                  else
                  begin
                  	writeln(textfp, IntToStr(tmp));
                  end;
                  remaining := 0;
          			 end;
          $0102: begin info := 'high bit';
          				tmp := read16(fp);
                                 (*
                                 could be 11 for 12 bit cr images so just
                                 skip checking it
                                 assert(tmp == 7 || tmp == 15);
                                 *)
                  remaining := 0;
                 end;
					$0103: info := 'pixel representation';
          $1050: info := 'window center';
          $1051: info := 'window width';
          $1052: info := 'rescale intercept';
          $1053: info := 'rescale slope';
				end;
      $4000 : info := 'text';
      $7FE0 :
        case element of
        	$00 :  info := 'pixel data';
          $10 :  begin info := 'pixel data'; time_to_quit := TRUE; end;
				end;
      else
      	begin
        	if (group >= $6000) AND (group <= $601e) AND ((group AND 1) = 0)
          	then  info := 'overlay';
          if element = $0000 then info := 'group length';
          if element = $4000 then info := 'comments';
				end;
    end;

    Write(textfp, IntToHex(where,4)+': ('+IntToHex(group,4)+','+IntToHex(element,4)+')');
    if info <> ''
    	then write(textfp, ' '+ info)
      else write(textfp, ' unrecognized');

    if time_to_quit then writeln(textfp);

        //skip unused data
    Write(textfp, ': '+IntToStr(e_len)+' ');

    if (NOT time_to_quit) AND (remaining > 0) then
    begin
    	GetMem( buff, e_len);
			BlockRead(fp, buff^, e_len, n);

      case t of
       	unknown :
       		case e_len of
           	1 : Write(textfp, IntToStr(Integer(buff[0])));
            2 : Begin
                 	if little_endian <> 0
                   	then i := Integer(buff[0]) + 256*Integer(buff[1])
                    else i := Integer(buff[0])*256 + Integer(buff[1]);
                  Write(textfp, IntToStr(i));
		  					end;
            4 : Begin
                 	if little_endian <> 0
                   	then i :=               Integer(buff[0])
                              +         256*Integer(buff[1])
                              +     256*256*Integer(buff[2])
                              + 256*256*256*Integer(buff[3])
                    else i :=   Integer(buff[0])*256*256*256
                              + Integer(buff[1])*256*256
                              + Integer(buff[2])*256
                              + Integer(buff[3]);
                  Write(textfp, IntToStr(i));
                end;
						else
             		begin
									for i := 0 to e_len-1 do
                  begin
                   	if Char(buff[i]) in [' ', '0'..'9','a'..'z','A'..'Z']
                     	then Write(textfp, Char(buff[i]))
                      else Write(textfp, '.');
									end;
                end;
					end;

        i8, i16, i32, ui8, ui16, ui32,
        _string  : for i := 0 to e_len-1 do
                   	if Char(buff[i]) in [' ', '0'..'9','a'..'z','A'..'Z']
                     	then Write(textfp, Char(buff[i]))
                      else Write(textfp, '.');
      end;
      FreeMem(buff);
    end
		else if e_len > 0 then Write(textfp, IntToStr(tmp));
    Writeln(textfp);
  end;	// end for

		//read the actual pixel data
	GetMem( buff, height * width * bytes_per_pixel);
	BlockRead(fp, buff^, height * width * bytes_per_pixel, n);
end;

(****************************************************************************)
procedure flip_16bit_data ( var buff : PChar; width : Integer; height:Integer);
var
i   : Integer;
tmp : Char;
begin
	if bytes_per_pixel <> 2 then exit;
  if flip_flag <> 0 then
  begin
    i := 0;
    while i < 2*width*height do
    begin
    	tmp       := buff[i];
      buff[i]   := buff[i+1];
      buff[i+1] := tmp;
      i := i + 2;
		end;

    Writeln(textfp);
    Writeln(textfp, 'Flipped 16-bit data.');
    exit;
	end;

  if (little_endian <> 0) OR (no_flip_flag <> 0) then exit;
  i := 0;
  while i < 2*width*height do
  begin
  	tmp       := buff[i];
    buff[i]   := buff[i+1];
    buff[i+1] := tmp;
    i := i + 2;
	end;
  Writeln(textfp);
  Writeln(textfp,'Flipped 16-bit data.');
end;

(**************************************************************)
procedure scale16to8( var buff : PChar; width : Integer; height:Integer);
var
  max16 : LongInt;
  min16 : LongInt;
  i,j   : Integer;
  new_buff : PChar;
  value : LongInt;
begin
	if bytes_per_pixel <> 2 then exit;

  value := Integer(buff[0]) + Integer(buff[1])*256;
  max16 := value;
  min16 := value;

    //first find the min and max of the 16-bit data
	i:=0;
  while I < 2*width*height do
  begin
    value := Integer(buff[i+1]);
    value := Integer(buff[i]) + value*256;
		if value < min16 then min16 := value;
    if value > max16 then max16 := value;
    i := i+2;
	end;
  Writeln(textfp);
  Writeln(textfp, 'Pixel value range: min= '+Inttostr(min16)+', max= '+Inttostr(max16));
  Writeln(textfp);


  GetMem( new_buff, width * height);

  	//now scale the 16-bit data to 8-bits
  for i := 0 to width*height-1 do
  begin
  	new_buff[i] := CHAR(Trunc(255*(Integer(Buff[i])-min16) / (max16-min16)));
	end;

	i:=0;
  j := 0;
  while I < 2*width*height do
  begin
    value := Integer(buff[i]) + Integer(buff[i+1])*256;
  	new_buff[j] := CHAR(Trunc( 255*(value-min16) / (max16-min16)));
    j:=j+1;
    i := i+2;
	end;



	FreeMem( buff );
  buff := new_buff;

  Writeln(textfp);
  Writeln(textfp, 'Scaled 16-bit data to 8-bit data.');
  Writeln(textfp);
end;


end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美主播一区二区三区美女| 九九精品一区二区| 久久婷婷色综合| 日韩欧美一区二区久久婷婷| 欧美性受xxxx黑人xyx性爽| 白白色亚洲国产精品| 国产福利视频一区二区三区| 蜜臂av日日欢夜夜爽一区| 天天色天天爱天天射综合| 国产精品免费观看视频| 国产精品欧美久久久久一区二区| 久久日一线二线三线suv| 在线综合视频播放| 欧美一区日韩一区| 538在线一区二区精品国产| 91久久精品国产91性色tv| 91在线精品一区二区| caoporen国产精品视频| 99re66热这里只有精品3直播| 国产精品正在播放| 粉嫩av一区二区三区| a美女胸又www黄视频久久| 色婷婷狠狠综合| 在线视频一区二区三区| 欧美日韩国产高清一区二区三区| 欧美色精品在线视频| 日韩一二三区不卡| 久久九九全国免费| 国产精品国产三级国产普通话三级 | 国产欧美一区二区精品婷婷| 中文无字幕一区二区三区| 综合自拍亚洲综合图不卡区| 亚洲自拍偷拍网站| 久久99国内精品| 不卡的看片网站| 欧美日韩国产综合一区二区| 56国语精品自产拍在线观看| 国产亚洲欧美色| 亚洲精品乱码久久久久久日本蜜臀| 亚洲一区二区四区蜜桃| 久久精品国产亚洲高清剧情介绍| 成人中文字幕在线| 欧美年轻男男videosbes| 国产亚洲一区二区三区在线观看| 一区二区免费视频| 丁香另类激情小说| 欧美精品1区2区3区| 国产亚洲精久久久久久| 尤物av一区二区| 狠狠久久亚洲欧美| 欧美美女一区二区三区| 国产精品伦理在线| 久久精品国产澳门| 一本色道久久加勒比精品| 久久综合色8888| 亚洲成在人线在线播放| 不卡视频免费播放| 精品国产免费久久| 亚洲影视在线播放| gogogo免费视频观看亚洲一| 精品久久久久久综合日本欧美| 亚洲精品高清在线| 成人免费毛片app| 精品国产一区二区精华| 亚洲图片欧美一区| 成人av午夜电影| 久久噜噜亚洲综合| 日韩精品久久理论片| 欧美性色综合网| 中文字幕一区二区三区色视频| 国产在线播放一区二区三区| 欧美久久一区二区| 亚洲午夜久久久| 在线精品亚洲一区二区不卡| 国产精品不卡在线观看| 国产一区二区不卡在线| 亚洲私人影院在线观看| 国产一区二区免费看| 日韩欧美综合一区| 视频一区免费在线观看| 欧美主播一区二区三区| 亚洲图片欧美视频| 在线观看av不卡| 一区二区国产盗摄色噜噜| 一本到高清视频免费精品| 中文字幕一区在线观看视频| 成人精品视频一区二区三区尤物| 国产亚洲一区字幕| jiyouzz国产精品久久| 中文字幕制服丝袜一区二区三区| 成人av在线播放网站| 亚洲四区在线观看| 欧美三级欧美一级| 日韩经典一区二区| 日韩精品中文字幕一区 | 色女孩综合影院| 亚洲精品成人精品456| 在线观看亚洲专区| 亚洲aaa精品| 欧美α欧美αv大片| 国产成人鲁色资源国产91色综| 国产欧美中文在线| www.一区二区| 亚洲成av人在线观看| 91精品国产综合久久蜜臀| 久久精品久久综合| 欧美国产一区二区| 一区二区三区小说| 狠狠网亚洲精品| 久久众筹精品私拍模特| 波多野结衣亚洲| 亚洲成人www| 精品国产麻豆免费人成网站| 成人高清av在线| 亚洲影院免费观看| 精品少妇一区二区三区免费观看| 国产乱国产乱300精品| 中文字幕日韩一区二区| 欧美影院一区二区三区| 蜜桃精品视频在线观看| 国产精品乱码一区二三区小蝌蚪| 色哟哟欧美精品| 国产揄拍国内精品对白| 一区二区三区日韩精品视频| 精品国产伦一区二区三区观看体验| 99视频有精品| 国产在线精品一区在线观看麻豆| 亚洲黄色小说网站| 精品伦理精品一区| 久久精品视频一区| 欧美视频中文字幕| 成人精品免费视频| 久久精品免费看| 亚洲国产精品一区二区久久| 国产午夜精品理论片a级大结局| 欧美日韩免费观看一区二区三区 | 在线精品观看国产| 国产成人午夜精品影院观看视频 | 国产露脸91国语对白| 午夜国产精品一区| 国产精品国产三级国产a| 日韩一二三四区| 欧美写真视频网站| www.视频一区| 国产精品亚洲综合一区在线观看| 日韩二区在线观看| 亚洲影视在线观看| 一区二区三区在线看| 欧美激情一区二区| 久久久久99精品国产片| 精品久久免费看| 欧美一级日韩免费不卡| 欧美日本精品一区二区三区| 91免费国产在线| 白白色 亚洲乱淫| 成人国产精品免费观看| 国产a视频精品免费观看| 国产综合久久久久影院| 蜜臀91精品一区二区三区| 日韩中文字幕区一区有砖一区| 亚洲一二三级电影| 亚洲一区免费视频| 亚洲丰满少妇videoshd| 亚洲综合色视频| 亚洲福利视频一区| 日韩av一区二| 九九视频精品免费| 国产成人免费av在线| 不卡在线视频中文字幕| 99re66热这里只有精品3直播| 99精品国产99久久久久久白柏| 99国产精品国产精品毛片| 一本色道久久综合亚洲精品按摩| 91免费视频观看| 欧美在线视频不卡| 91精品国产91久久久久久最新毛片| 欧美一区二区三区人| 久久久综合激的五月天| 国产精品美女久久久久aⅴ | 中文字幕一区二区三区av| 成人欧美一区二区三区小说| 亚洲自拍偷拍麻豆| 日本不卡中文字幕| 国产精品一品视频| 97久久精品人人澡人人爽| 欧美视频在线播放| 26uuu久久天堂性欧美| 国产精品不卡一区| 偷窥国产亚洲免费视频| 久草这里只有精品视频| 成人手机电影网| 在线免费观看成人短视频| 日韩欧美一级特黄在线播放| 国产精品久久免费看| 亚洲国产三级在线| 国内精品久久久久影院薰衣草 | 亚洲欧美日韩一区| 麻豆精品国产传媒mv男同| 成人一区二区三区| 制服视频三区第一页精品|