本日の課題:シェルスクリプトの作成
本日の実習の内容+αを用いて, 動画を作るシェルスクリプトを組んでみましょう.
課題概要
各情報実験機の /home/wataken/script_kadai 以下にhomework.tar.gz というtar.gz 形式で圧縮された課題データがあります.
課題データの解凍は 「5. [付録] データの圧縮・解凍」を参考に行ってください.
その課題データを解凍してできたディレクトリ(kadai) には静止衛星ひまわりによって撮影された画像(例)とダミー画像(例) が合計で750 枚,
そしてその画像に関する情報が記述されたテキストファイル(撮影日時,もしくは "dummy" が記述されたテキストファイル.以下このファイルを単に"テキストファイル"とする.) が合計で750 個ずつ格納されています.
それらの画像と画像ファイル名にある数字 (例:IMG_0020.png) と同じ数字が付いた画像情報ファイル (例: SRC_0020.txt) は対応しており,画像情報ファイルにはその画像がもし衛星画像であれば撮影日時"YYYYMMDDHHmm" もしくはダミー画像であれば"dummy" という情報が書かれています.
:衛星画像例, :ダミー画像例
ここで"YYYY" は西暦年(例: 2015 年=> 2015), "MM" は月(例: 5 月=> 05), "DD" は日(例: 1 日=> 01), "HH" は時(例: 午前0 時=> 00, 午後8 時 => 20 ), "mm" は分(ex. 00 分=> 00) です.
皆さんは,課題データを解凍してできたディレクトリに格納されたファイルの中から, 以下の指定期間 において
各情報実験機番号で指定された期間(二週間) 分の衛星画像に,画像情報ファイルに書かれている撮影日時を画像中の地球と重ならないように入れ,
雲の動きが分かる gif 動画を作成してください.
また作成したgif 動画を見て,気象や大気循環に関する考察をレポートに記述してください.(提出内容参照)
- 指定期間 それぞれの情報実験機番号に対応した期間(二週間) は以下のようになります.
- joho01-joho05 : 2015/05/08/12:00 - 2015/05/22/11:00
- joho07-joho11 : 2015/08/12/00:00 - 2015/08/25/23:00
- joho13-joho17 : 2015/12/04/00:00 - 2015/12/17/23:00
- joho19-joho23 : 2016/02/16/12:00 - 2016/03/01/11:00
ただし、成果物は以下の要求仕様を満たすこと.
作業手順
各情報実験機の /home/wataken/script_kadai 以下にhomework.tar.gz というtar.gz 形式で圧縮された課題データがあります.
課題データの解凍は 「5. [付録] データの圧縮・解凍」を参考に行ってください.
その課題データを解凍してできたディレクトリ(kadai) には静止衛星ひまわりによって撮影された画像(例)とダミー画像(例) が合計で750 枚,
そしてその画像に関する情報が記述されたテキストファイル(撮影日時,もしくは "dummy" が記述されたテキストファイル.以下このファイルを単に"テキストファイル"とする.) が合計で750 個ずつ格納されています.
それらの画像と画像ファイル名にある数字 (例:IMG_0020.png) と同じ数字が付いた画像情報ファイル (例: SRC_0020.txt) は対応しており,画像情報ファイルにはその画像がもし衛星画像であれば撮影日時"YYYYMMDDHHmm" もしくはダミー画像であれば"dummy" という情報が書かれています.
:衛星画像例, :ダミー画像例
ここで"YYYY" は西暦年(例: 2015 年=> 2015), "MM" は月(例: 5 月=> 05), "DD" は日(例: 1 日=> 01), "HH" は時(例: 午前0 時=> 00, 午後8 時 => 20 ), "mm" は分(ex. 00 分=> 00) です.
皆さんは,課題データを解凍してできたディレクトリに格納されたファイルの中から, 以下の指定期間 において
各情報実験機番号で指定された期間(二週間) 分の衛星画像に,画像情報ファイルに書かれている撮影日時を画像中の地球と重ならないように入れ,
雲の動きが分かる gif 動画を作成してください.
また作成したgif 動画を見て,気象や大気循環に関する考察をレポートに記述してください.(提出内容参照)
要求仕様
- 自分のホームディレクトリ以下に作業ディレクトリ(例: work ディレクトリ) を作成し, そこに /home/wataken/script_kadai/ に置かれた課題データ (homework.tar.gz) をコピーしてください. また課題データを解凍してできたkadai という名前のディレクトリ,作成したシェルスクリプトやgif 動画なども作業ディレクトリに格納してください.
- 以下の iii - x までの作業を行うシェルスクリプト名は mkanim.sh として, 実行権限を与えてください.
- 解凍してできた kadai ディレクトの中に "src" という名前のディレクトリを作成し, そこに衛星画像データのみを全てコピーした上で, ファイル名をテキストファイル中に書かれている撮影日時.png (YYYYMMDDHHmm.png) としてください.
- 解凍してできた kadai ディレクトリの中に "dummy" という名前のディレクトリを作成し,そこにdummy ファイルのみを全てコピーした上で,ファイル名を"dummy_XX.png" (例: dummy_01.png, dummy_02.png...) として順番に番号をつけてください.
- また,指定された二週間分の衛星画像データは別途解凍してできた kadai ディレクトリの中に "true" という名前のディレクトリを作成し, そこに撮影日時.png (YYYYMMDDHHmm.png) としてコピーし, 衛星画像データ中に画像情報ファイルにある撮影日時を地球と重ならないように入れてください.(:例 )
- "kadai/true" ディレクトリ以下にある衛星画像を撮影日時順につなげて,gif 動画にしてください.
- gif 動画は, 画像一枚あたりの表示時間を 0.2 秒としてください.
- 完成した gif 動画のファイル名はkadaianim.gif とし, 作業ディレクトリ直下に置いてください.
- シェルスクリプトを実行(./mkanim.sh)したとき,gif 動画が iceweasel 上で再生されるようにしてください.
- また,作業ディレクトリ以下のファイル構造を "kadai_tree.txt" ファイルに出力してください.
今回の課題のgif 動画と,ディレクトリ構造の完成見本は
gif 動画, ディレクトリ構造 ,
のようになります.参考にしてください.
なお, 皆さんにお配りするデータとは別のデータを用いているので同じgif 動画, ディレクトリ構造にはなりません.
提出内容
それぞれのタグに対応するものをsuu に投稿してください.
- 作成したシェルスクリプトmkanim.sh の全文 (タグ : [2016] 3-1. シェルスクリプト本文)
- 作成したgif 動画を見て,気象や大気循環などに関する考察
- 工夫, または苦労した点.
- 作業協力者がいればその名前, 参考文献(人のレポートを参考にした場合もしっかり挙げること).
- その他コメントなど.
- 「ファイルアップロード」から以下のファイルをアップロードし,このタグのレポートにリンクを貼ってください.
- mkanim.sh (シェルスクリプトファイル)
- kadai_tree.txt (作業ディレクトリ以下の構造を出力したファイル)
注意点
- 情報実験機で作業する場合には本日の事前準備を参考に x window system を立ち上げる.
- 衛星画像中には画像の欠け(例: 北半球の一部が無い) や黒い点が存在するものもありますが,衛星の撮影時もしくは画像解析時にできたものなので気にしないでください.
- 情報実験機の作業ディレクトリ以下は,TA, VTA が要求仕様を満たしているか確認するまでは削除したりしないようにしてください.
困ったときは
- わからないことがあったらまずは文献(過去のレポート含む)あるいはインターネット上の検索エンジンを利用しましょう.
- やっぱりわからないときは友達と相談しましょう.
- どうしてもわからないときは inex2016-ml を活用しましょう. あなたの質問は人の助けになるかもしれません.
- もちろん直接 TA・VTA をつかまえてもけっこうです(8 号館二階にいると思います).
ヒント
- やり方は一通りではない. どうすれば一番楽か作業の順序立てを最初に考えよう.
- コマンドの使い方が分からなくなったらman で調べよう!
- 沢山のファイルに同じ処理を施すには, メタキャラクタや ループ処理が便利.
- パイプを活用して 複数のコマンドを組み合わせてみよう.
- 一つのコマンドでも オプション によって様々な機能を発揮します. man や www サイトで いろいろ調べてみるべし.
- cat, grep,sed,awk等のよく使われる便利なコマンドを調べてみよう!
- 画像処理等に便利なimagemagick の使い方
- ヒントに囚われず, 自由な発想をしよう!!
参考文献
本課題の画像データは以下のサイトから引用しました
<< 戻る (データ圧縮・解凍とアーカイブ) 最初へ >> (実習の前準備) 情報実験 第 3 回 のトップへ >>