レポート課題(〜平成23年度 追試用)
提出方法:e-mail に,レポートのファイル(PowerPointの .ppt 形式)を添付し,名前と学生証番号および連絡がとれるメール・アドレスと電話番号を書いて下記の 講義用 および 医学部教務係 の2つのメール・アドレスの両方に送信すること。
ファイル名は,MDP学生証番号.ppt (すべて英数半角文字) とする。例えば学生証番号が860100の場合,MDP860100.ppt とする。
送信するメールのCc(Carbon Copy)欄に自分のメール・アドレスを書いておくと,送信したものと同じ内容のメールが戻ってくるので,その添付ファイルをPowerPointで開いてチェックして下さい。PowerPointで開くことができなければ,添付のファイルが壊れているので,修正して再送信して下さい。
連絡先: 講義用 mneuro @ mail. ecc. u-tokyo. ac. jp
医学部教務係 kyomu @ m.u-tokyo.ac.jp
(すべて英小文字,スパム対策にスペースを入れてあるのでスペースはすべて除去すること。@は英小文字に直すこと。)
提出期限: 12月22日(木曜日)
(レポート作成には意外に時間がかかるので,早めに始めたほうがよい)
レポートを採点基準にしますので,必ず以下の4つの課題すべてに解答して下さい。
PowerPointを使用すること。
Power Point 2007, 2008 を使用している人は .pptx 形式ではなく.ppt 形式のファイルを提出して下さい。
(名前を付けて保存→Power Point 97-2003 プレゼンテーションで保存すれば作れます。)
このレポートは Power Point を用いてプレゼン資料を作成する演習も兼ねているので,第三者が見ても内容が解り易いような説明をつけること。
ページ数は,8頁以上。
課題2.画像処理その1
3 - 4) 画像と雑音で説明したように,Salt & Pepper ノイズが重畳した画像はSmoothing 処理してもノイズが低減しない。このような場合, Median Filter 処理が有効である。
(1) Median Filter の説明
![]() |
左上は,Salt & Pepper ノイズが重畳した画像を ImageJ で表示した図である。ImageJ の File → Save As → Text Image で保存すると 各ピクセルの値が Tab 区切りの text として保存される。 Tab 区切りの text は,Excel で読み込むことができる。(256 × 256 の表になる) 例として,左上図の中央付近にある黄色い四角で囲んだ部分のExcel データを左下に示す。x軸の DO~DY は x=119~129 である。DT129 (x=124, y=129) の周り3X3のデータ(黒い四角い枠の中)を見ると,DT130 に値255のデータがある。これはノイズである。 3×3のSmoothing 処理では,黒枠内の9個のデータの平均値をとり中央の点(DT129)の値とするので,ノイズ・データを含む場合,その周りの3X3 点の処理データはすべて平均値が大きくなり,かえって図が汚くなる。 Median Filter では,黒枠内の9個のデータの平均値をとる代わりに,9個のデータを小さいものから順に並べ,9個のデータの中央値をとりその値を中央の点(DT129)の値とする。 黒枠内の9個のデータを順に並べると, 35, 52, 54, 60, 64, 64, 94, 102, 255 であり,中央値は5番目の 64 である。 画像とノイズの性質により適当な枠の大きさを決める。枠を大きくしすぎて枠内のデータの変化が大きいと,処理画像の歪みが大きくなる。Median Filter では平均値をとらないので絵がボケにくい。 (上では,説明を解りやすくするため,値が255の場合をノイズとしたが,左上図では,値が2の場合もノイズである。それぞれ,SaltとPepperに対応する。) |
![]() |
(2) octave による中央値の計算
![]() |
中央値を計算する function (関数) の例である。A は中央値を計算すべき2次元配列である。M に中央値が返される。 function は決まった処理を繰り返す場合に便利である。sin や fft もfunction である。 テキスト・エディタ( mi など)に function のプログラムを入力し,その function を使うプログラムと同じdirectory (フォルダ) に保存しておくと使用できる。 size(A)は,要素Aのサイズを求める関数であり,Aが2次元配列の場合,s1, s2 にはそれぞれ行と列の大きさが返される。 floor(A)は,Aの要素を A 以下の最も近い整数に丸める関数。 使用例 octave:1> S=[52 35 64; 54 64 94; 60 255 102] S = 52 35 64 54 64 94 60 255 102 octave:2> C=med2D(S) C = 64 |
3) 自分の処理画像の準備
課題で使用するデータを 3. 画像処理入門 - 0. 実習の準備 のときにダウンロードした image_proc フォルダ内に入っている。圧縮されたKadaiR2_Data.raw.gzとKadaiR3_Data.raw.gzが入っているが,それのアイコンをダブル・クリックして解凍することにより KadaiR2_Data.raw と KadaiR3_Data.raw を取り出す。
課題2では,KadaiR2_Data.raw を用いる。Salt & Pepper ノイズが重畳した3次元画像データ (256 × 256 × 124, 8-bit) である。 ImageJ を用いて ,自分の学生証番号の下2桁の数字+12枚目の2次元画像を取り出して用いる。
これには ImageJ の Duplicate コマンドを使う。
例えば62枚目の2次元画像は,3. - 1)2次元画像データの準備で説明したようにして取り出し,KadaiR2_62.raw などの適当な名前で raw format で save する。(但し,濃度の Multiply は不要。)
4) 課題
以下に 3×3 の Smoothingフィルタのoctaveプログラムの例を示す。これを参考にして 3×3 の Median Filter の octave プログラムを作成し,(1)各自の処理前の画像と処理後の画像,(2)プログラム・リストの主要部分,(3)この画像の作成法の簡潔な説明を, PowerPoint に貼り付けて提出すること。
3×3のSmoothingフィルタのoctaveプログラムの例
|
KadaiR2_62.raw は,raw format の画像ファイル名。(8-bit画像) fid1は,file_ID (identification) である。file を open した後は,その file に関してこの fid で参照する。 msg : エラーメッセージなどが返される。 y : 読み込んだデータが返される配列。 count1 : 読み込んだデータ数が返される。 画像は横向きのまま処理する。(以下で,再び ImageJ で読み込んだ時に,正常な向きになる。) 結果の画像は両端の分2行2列少ない yt は,元データから 3×3 の部分データを取り出し,一時保存するための作業用行列。作業用行列に,荷重行列が掛け合わされるべき元データの部分行列を代入する 'SmoothR2_62.raw' は,Save するファイル名(任意)。 "ieee-be"は,big-endian の指定。 "int16" は,2バイト整数(16-bit) 。 count2には,書き出されたデータ数が入る。 |
i) octave プログラムを作成し,画像を処理する。
ii) 処理結果のrawファイルを再び ImageJ で読み込む。(16-bit Signed )
ファイルのサイズは,254x254x1x2 である。(2は,16bit=2bytes)
下の図で,ファイルのサイズが 129k ではなく,126K と表示されているのは,1K=1024 としてカウントする習慣があるからである。
ImageJに読み込んでBrightness/ContrastのAutoを押した後の画像の例
![]() |
![]() |
iii) 処理前,処理後の画像を PowerPoint に貼り付ける(B&Cの図は不要)。
iv) PowerPoint 上にテキスト・ボックスを開き,この画像の作成法の簡潔な説明と,
unix のプログラム・リストの主要部分
| for ... ... ... ... end; |
課題3.画像処理その2
1) 自分の処理画像の準備
課題3では,上で解凍した KadaiR3_Data.raw を用いる。縦または横の周期的な縞模様のノイズが重畳した3次元画像データ (256 × 256 × 124, 8-bit) である。課題2と同様に ImageJ を用いて ,自分の学生証番号の下2桁の数字+11 枚目の2次元画像を取り出して用いる。
例えば64枚目の2次元画像は,KadaiR3_Data64.raw などの適当な名前で raw format で save する。(但し,濃度の Multiply は不要。)
2) 課題
ImageJ を用いて,この2次元画像にFFTフィルタをかけ,縞模様のノイズを除去した画像を作ること。
(1)各自の処理前の画像と処理後の画像,(2)この画像の作成法の簡潔な説明を, PowerPoint に貼り付けて提出すること。
下図は,64枚目の2次元画像を取り出してFFTし,周波数領域(スペクトル平面上)で周期的な縞模様に対応する周波数成分をフィルタにより除去してIFFTした場合の,処理前と処理後(にBrightness/ContrastのAutoを押した後)の画像の例である。
周波数領域(スペクトル平面上)で,不要な周波数成分を○で囲み,EDIT->Fill により除去する。複数個の領域を○で囲むためには,2個目以降の領域は <Shift Key> を押しながら指定する。十字カーソルと同程度の大きさの領域を囲めばよい(中央の成分は除去しないこと)。
不要な周波数成分が見難い場合には,Brightness/ContrastでBrightnessを下げ,Contrastを上げて見易くすればよい(処理結果に影響しない)。
|
処理前
|
処理後
|
![]() |
![]() |
課題4.画像処理その3
適当な任意の2次元の医用画像(医学部で扱うのにふさわしい画像,3次元画像から切り出してもよい)を各自ネットのサイトから探してダウンロードし,ImageJやOctaveを用いて,自分の創意による処理(授業に出てこなかった処理でもよい。ただし,Smooth+Adjust のようにメニューから数回以内でできる処理はだめ)を考えて実行し,(1)処理の目的,(2)処理の方法,(3) 画像ファイル名,(4) 処理前後の画像,(5) 処理結果の説明,(6)考察,を PowerPoint に貼り付けて提出すること。および,(7) 画像の出典を明記すること。
画像データは例えば ImageJ のホームページに多数のサンプル画像が提供されている。
http://rsb.info.nih.gov/ij/images/
上記ホームページ上の画像は,<Option Key> を押しながらカーソルでファイルを指定してマウス・ボタンを押すと,デスクトップ上にダウンロードできる。jpg, gif , tif 形式の画像は,File->OPen... から直接開くことができる。zip 形式のファイルは,ダウンロードした後,自動展開されなければアイコンをクリックして展開する。
処理の例として,http://rsb.info.nih.gov/ij/docs/examples/index.html なども参考になる。但し,そのままこの課題の解答にしてはいけない。
------------------- レポート課題 end --------------------