このcsvファイルを GraphR で 表 示 する あるいはエクセルで 読 み 込 んで 処 理 できる BMP 形 式 のファイルは Windows のソフトで 表 示 できる Mercury CCD では1ピクセルが2バイトで 記 述 されているが BMP でコンパクトに 表 すため 1 ピク



Similar documents

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

SK-Viewer ver1.652.xlsx

<4D F736F F D208DEC90AC837D836A B81698F4390B394C5816A2E646F63>

1. 機 能 概 要 CADデータ(DXF 形 式 )を 変 換 し EXCELに 図 形 として 表 示 します CADでのレイヤー 毎 に 表 示 / 非 表 示 や 線 分 の 属 性 ( 色 太 さ 等 )を 指 定 でき さらに 作 成 する 図 面 の 範 囲 大 きさを 指 定 できま

p...{..P01-48(TF)

ThinkBoard Free60 Manual

Microsoft Word - TCⅡマニュアル_第6章_ doc

コンピュータ概論


KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

Microsoft Office Excel2007(NO.2エクセル初級後編)

地域ポータルサイト「こむねっと ひろしま」

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

N88 BASIC 0.3 C: My Documents 0.6: 0.3: (R) (G) : enterreturn : (F) BA- SIC.bas 0.8: (V) 0.9: 0.5:

Microsoft Word - word_05.docx

パソコンで楽チン、電力管理3169編

Łñ“’‘‚2004

プリント


以 下 のソフトウェアに 専 用 ライセンスを 設 定 することで 変 換 機 能 が 使 えるようになります アプリケーション 名 バージョン 日 付 JPGIS-XML ビューF 7.1.0α 以 降 2013/06/27 以 降 フリーウェア JPGIS-XML ビューF のバージョン 7.0

(Microsoft PowerPoint -

R4財務対応障害一覧

取扱説明書

文科省様式3-2集計オプションマニュアル

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

untitled

Microsoft Word - C16_Sma4_Win_02.doc

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

DN6(R04).vin

計算式の取り扱い

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

LA-1250、LA-1350、LA-4350騒音計「24時間分の保存データをサンプルプログラムでグラフ化する手順」

Microsoft Word - 203MSWord2013

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

やさしく名刺ファイリング v.3.0 操作マニュアル

エラー!目次項目が見つかりません。

コンピュータ概論

研究者情報データベース

スライド 0

情報処理技能検定試験 表計算2級 手順書

MOS Excel 2013 対策テキスト&問題集 改訂版 補足資料

K-REE Access販売管理 フォーム定義書

スライド 1

Microsoft PowerPoint - intro.ppt

SXF表示機能及び確認機能

Oracle Lite Tutorial

1

DocuWorks の 設 定 画 像 劣 化 なし o ファイル 取 り 込 みとスキャン 取 り 込 みの 際 に 使 用 できま す o スキャン(TWAIN) 取 り 込 み の 用 紙 サイズで スキャンし た 画 像 がA3を 超 えるときは A3におさまるように 縮 小 す る にチェ

Transcription:

Mercuryの img ファイルの 画 像 データを ASCI 変 換 し excel や GraphR にて 表 示 する 実 行 例 (アンダーライン 部 が 入 力 ) C:\Documents and Settings\My Documents >img-bmp_csv.exe <<<< Convert.img to.csv or.bmp Ver=091219 >>>> Input file name *.img =? Axial1.img === Header of *.img is === Header top of 256bytes ia... { HEADER_BYTES= 3584; BYTE_ORDER=little_endian; CCD_DETECTOR_ADC_OFFSET=0; CCD_DETECTOR_DESCRIPTION=Mercury (2x2 bin mode); CCD_DETECTOR_DIMENSIONS=512 512; CCD_DETECTOR_IDENTIFICATION=MSC_MED_MERCURY_SN999; CCD_DETECTOR_OPTIONS=imagekind:2 dezingermode:on header is end 1: monitor data and convert to csv file 2: convert img to bmp (512*512 pixcel) Select 1 or 2 =? 2 ===== BMP file out ===== Intensity I= 1 ~ 1,048,543 is scaled as 53*log10(I/16) Input bmp file name?= Axial1.bmp BG is 0: white, 1:black, =? 1 C:\Documents and Settings\My Documents > Axial1.img という Mercury CCD の 512*512 ピクセルの 画 像 を BMP 形 式 に 変 換 する BG=1 の 時 背 景 が 黒 で ブラッグ 斑 点 が 白 で 表 示 され BG=0 のときは 白 黒 逆 転 表 示 header is end 1: monitor data and convert to csv file 2: convert img to bmp (512*512 pixcel) Select 1 or 2 =? 1 If x<1 or 512<x or y<1 or 512<y then QUIT Value at x,y =? 128,256 151 Value at x,y =? -1,-1 csv file out 0:No / 1:Yes =? 1 inout output region (x1,y1)-(x2,y2) x1,y1=100,200 value= 96 x2,y2=140,240 value= 96 OK? 0:No / 1:Yes =? 1 output *.csv file name =? Axial1csv テキスト 形 式 (csv)で 出 力 するときは1を 選 ぶ 指 定 した x,y 座 標 の 強 度 をモニターする 画 像 は 左 上 が(1,1) 右 下 が(512,512) 水 平 方 向 にx 軸 垂 直 下 方 にy 軸 (x,y)に 座 標 を 入 れると そのピクセルの 強 度 が 表 示 0 以 下 または 513 以 上 を 指 定 すると 強 度 モニターを 終 了 する テキストデータに 出 力 する 範 囲 を 指 定 する OK?で 0 と 答 えると 範 囲 指 定 をやり 直 せる

このcsvファイルを GraphR で 表 示 する あるいはエクセルで 読 み 込 んで 処 理 できる BMP 形 式 のファイルは Windows のソフトで 表 示 できる Mercury CCD では1ピクセルが2バイトで 記 述 されているが BMP でコンパクトに 表 すため 1 ピクセルを1バイトに 縮 減 している そのため R=53*log10(PV/16) という 対 数 変 換 をしている 但 し ピーク 値 PV が16 以 下 に 対 しては R はゼロとする ソースプログラム(img-bmp_csv.for 2009/12/19 23:54 * Mercury IMG file read and scv or bmp out 2009/12/19 * IMG file format * Header part is 3584byte (87 lines) * Standard data is consisted of 512x512 bytes * Intensity date is 2 bytes * Intensity=ichar(byte1)+256*ichar(byte2) 5KB) * input(1) *.img and output(2) *.bmp or *.csv file names character*64 fnm1,fnm2 character*256 da integer pv(512,512),pvdat(512) print *, '<<<< Convert.img to.csv or.bmp Ver=091219 >>>>' write(6,'(a$)') ' Input file name *.img =? ' read(5,*) fnm1 * check of header part open(1,file=fnm1,access='direct',recl=1) write(*,*) '=== Header of *.img is ===' read(1,rec=1) da write(*,'(a/a/)') 'Header top of 256bytes ia...',da write(*,'(a)') 'header is end'

*----- intensity data reading ----- j=3585 do 20 iy=1,512 call rd1ln(j,pvdat) do 20 ix=1,512 pv(ix,iy)=pvdat(ix) 20 continue close(1) *---- select job ---- write(*,'(a)') ' 1: monitor data and convert to csv file' write(*,'(a)') ' 2: convert img to bmp (512*512 pixcel)' write(*,'(a$)') ' Select 1 or 2 =? ' read(*,*) Ians if(ians.le.1) then *----- monitor intensity data * print *, 'Input pixecl position (x,y)' print *, 'If x<1 or 512<x or y<1 or 512<y then QUIT' 40 write(6,'(a$)') 'Value at x,y =? ' read(5,*) ix,iy if(ix.le.0.or.iy.le.0) goto 60 if(ix.gt.512.or.iy.gt.512) goto 60 print *,pv(ix,iy) goto 40 *----- output into csv format 60 write(*,'(a$)') 'csv file out 0:No / 1:Yes =? ' read(*,*) jans if(jans.gt.0) then 65 write(*,'(a)') ' inout output region (x1,y1)-(x2,y2)' write(*,'(a$)') 'x1,y1=' read(*,*) x1,y1 if(x1.le.0.or.y1.le.0) goto 70 print *,' value= ',pv(x1,y1) write(*,'(a$)') 'x2,y2=' read(*,*) x2,y2 if(x2.gt.512.or.y2.gt.512) goto 70 print *,' value= ',pv(x1,y1) 70 write(*,'(a$)') 'OK? 0:No / 1:Yes =? ' read(*,*) JYN if(jyn.le.0) goto 65 write(*,'(a$)') ' output *.csv file name =? ' read(*,*) fnm2 open(2,file=fnm2,status='unknown') write(2,'(a)') 'テ ータ 形 式, 1' write(2,'(a,a)') 'Mercury img file',fnm1 write(2,'(a)') ' cut from 512*512 data' write(2,'(512(a1,i5))') (',',ix,ix=x1,x2) do 50 iy=y1,y2 write(2,'(i5$)') iy write(2,'(511(a1,i5))') (',',pv(ix,iy),ix=x1,x2) 50 continue

close(2) else *===== write in bmp format write(*,'(a)') '===== BMP file out =====' write(*,'(a)') ' Intensity I= 1 ~ 1,048,543 is scaled as' write(*,'(a)') ' 53*log10(I/16) ' write(*,'(a$)') 'Input bmp file name?= ' read(*,*) fnm2 open(2,file=fnm2,access='direct',recl=1) write(*,'(a$)') ' BG is 0: white, 1:black, =? ' read(*,*) jwb *----- bmp header call header(jwb) *----- 1 byte data write n=1078 do 90 iy=512,1,-1 do 90 ix=1,512 pk=pv(ix,iy) if(pk.le.16) then pk=0.0 else pk=53.0*log10(pk/16) n=n+1 write(2,rec=n) char(int(pk)) 90 continue close(2) *----- QUIT ----- stop end subroutine rd1ln(j,pvdat) integer pvdat(512) character*1 da1,da2 integer j do 10 ix=1,512 read(1,rec=j) da1 j=j+1 read(1,rec=j) da2 pv=ichar(da1)+256*ichar(da2) j=j+1 if(pv.ge.32768) then pv=(pv-32768)*32 pvdat(ix)=pv 10 continue return end データは2バイト 0~255までは 先 頭 1バイト 目 これ 以 上 は 後 の2バイト 目 に 二 進 法 でファイルに 記 載 されている ただし 32,768 以 上 になると5ビットシフ トし 最 大 強 度 は 1,048,543 これを 復 元 するために if(pv.ge.32768) pv=(pv-32768)*32 と 変 換 している

*-------------- bmp file header ----------- subroutine header(jwb) integer id(54) data id/66,77,54,4,4,0,0,0,0,0,54,4,0,0,40,0,0,0,0,2,0,0,0,2, + 0,0,1,0,8,7*0,4,0,175,27,0,0,175,27,10*0/ do 10 n=1,54 write(2,rec=n) char(id(n)) 10 continue n=55 if(jwb.gt.0) then do 20 nn=0,255 write(2,rec=n) char(nn) write(2,rec=n+1) char(nn) write(2,rec=n+2) char(nn) write(2,rec=n+3) char(0) 20 n=n+4 else do 30 nn=255,0,-1 write(2,rec=n) char(nn) write(2,rec=n+1) char(nn) write(2,rec=n+2) char(nn) write(2,rec=n+3) char(0) 30 n=n+4 return end

データに 関 するメモ Mercury の img ファイル 通 常 はヘッダーに 記 載 通 り 512 512 ピクセルの 画 像 である ヘッダー 部 は 3584 バイトが 設 定 されており ASCI コード で 囲 まれたデータで 表 示 されてお り 余 分 な 領 域 には 00(ヌル)が 書 かれている 画 素 1つあたり 2バイトのデータで 構 成 されている 先 頭 の1バイト 目 は0~255の 強 度 の 値 で 2バイト 目 が256~65279の 上 位 を2の 補 数 表 現 で 記 載 している 但 し 32,768 以 上 になると5ビットシフトし 最 大 強 度 1,048,543 までデータに 記 載 できるように なっている これを 復 元 するため プログラムでは if(pv.ge.32768) pv=(pv-32768)*32 と 変 換 している Mercury 上 では 画 面 の 左 上 が(0.5,0.5)で 右 下 が(511.5,511.5)と 表 示 されるが 本 プログラムでは 整 数 化 して(1,1)~(512,512)としている 画 面 の 周 辺 部 は3~6ピクセルの 幅 で 0(ヌル)のデータで 縁 取 られている