Tweet
03/12のツイートまとめ

kosukesakurai

今日は読影はこれまでとしよう。
03-12 20:40

RT @yontengoP: 漫才コンビかな?>藤島氏が真剣な表情でマイクに向かっているときだった。 「スマイル!」(略)藤島氏「このタイミングですか?」。マック赤坂氏「油断しているときにやるのがスマイルだ」【出直し市長選】3候補者、記者会見 http://t.c
03-12 19:11

RT @hiromarine: 大人も泣く RT @DEEPBLUE1219: 夜中にこれが動いてたら子どもが泣くやろ… RT @mujinbot: i-Toad(アイ・トード)。iRobotから発売されたロボット掃除機であるルンバ(Roomba)向けのカバーの一つ http:…
03-12 14:16

RT @Isaacsaso: 卒業文集に「報道陣の皆様がこれを読んでいると言う事は、私は既に大きな事件を起こしたのでしょう」って書き出しで書きたすぎるけど、卒業文集書くチャンスもうない
03-12 14:12

続きを読む
Tweet
03/09のツイートまとめ

kosukesakurai

寒いなぁ。もうしばらくの辛抱だけど。
03-09 09:11

続きを読む
Tweet
03/07のツイートまとめ

kosukesakurai

RT @ray_fyk: アナウンサーが十三を読めないからでは(^_^;)。 "@may_myma: 十三がえらいことに! でもテレビではどこもやってない。"
03-07 08:19

続きを読む
Tweet
03/05のツイートまとめ

kosukesakurai

RT @keiji_ariyama: 週末、東京のホテルがどこも空いてないので野宿でもしようかと思ったのだけど、ただ野宿するのはさすがにみっともない。ならばいっそ、アップルストアの前で野宿していれば、新製品発売待ちで泊まり込んでいる風で、人に見られても恥ずかしくないし、取材と…
03-05 23:44

RT @kentz1: メイドさん表紙で物議をかもした人工知能学会誌の次号ではメイドさんがヘーゲル『精神現象学』について読んでいるそうですが http://t.co/Rg3Z6rwDRc ここで予言者であるところの僕のツイートを見てみましょう http://t.co/wVQpf
03-05 18:00

RT @habu0104: 「HTML」を性病だと思っている人が10人に1人いるという事実が判明 - GIGAZINE http://t.co/aHuTUVwCsI
03-05 14:45

続きを読む
Tweet
03/03のツイートまとめ

kosukesakurai

RT @kippis_sg: インスタントコーヒーのビンの裏側。研究室の先輩に「これはスプーンで60度だけかき回せって意味だよ」と言われて信じてしまった。悔しい。 http://t.co/cb5B8wg2Tx
03-03 22:04

続きを読む
Camera
Olympus TG-830

μ1030SWからの更新です。昨年、TG-820を買おうか、かなり迷ったのだが家人のデジカメ買い換えもあって(XZ-2を購入)見送ったのです。 XZ-2はなかなか良いカメラだと感じたがまぁ余り触っていないので詳しいところ […]

続きを読む
Photo
AF28-300mm F/3.5-6.3 XR Di VC LD Aspherical [IF] MACRO【A20】

タムロンの手ぶれ補正付き高倍率ズームです。元来ズームレンズ愛好派なのに高倍率ズームは、「いくらなんでもここまで倍率稼ぐと駄目だろう」と食わず嫌い状態でした。まぁズームレンズ初期の2倍がいいところ、頑張っても3倍までという […]

続きを読む
B級root
OsiriXを用いたPACSバックアップシステム(4)

簡単なしかけで構築できるのはよいんだけど、やはり最大の問題はデータ量があふれた場合です。勿論50GB単位でzipを分割すればいいんだけど、運用上週に一回しかメディア交換に行かないとなると2枚に分かれるとその週だけ2回行か […]

続きを読む
B級root
OsiriXを用いたPACSバックアップシステム(3)

さてあとはデータをまとめてBD-Rに書き出すだけである。WIindowsではBDドライブについてきたPowerBackupというソフトにスケジューラがあったのでこのスケジューラを利用して書き出しを行っていた。この点Macの方が簡単である。Cronで前エントリのディレクトリ切り替えを行いこれに引き続いて書き出し処理をすればいいだけだからだ。問題は…Windowsでもそうだったのだけど、コマンドラインでBD-Rに書き出す方法である。検索してみるとhdiutilというコマンドがあるらしい。これでディスクイメージの制作もできるのでディスクイメージの作成と焼き付けを行う。

もしこのメディアをMacでしか扱わないのであればdmg形式で作成すればよい。自動的に圧縮がかかるのでBDRをドライブに入れれば(反応はおそいものの)OsiriXでそのままアクセスできる。

ウチの場合、このメディアが必要になるときと言うのは何らかの原因でメインサーバが壊れたりストレージが消失した状況で、相当に混乱している可能性がある。なんだかんだといってもMacが多数転がっているわけではないので必ず読めることを優先してiso形式にした。またメディア不良で書き込みエラーの可能性もあるので手動作業でもできるように引数でデータベースディレクトリを選択できるようにした。圧縮にはzipを使っているがこの一時ファイルはすぐに削除。デイスク

#!/bin/csh
#引数処理ルーチン
switch ($#argv)
case 0:
set source="DICOM2"
echo "DICOM2 is the sourcefile"
breaksw

case 1:
switch ($1)
case 1:
set source ="DICOM"
breaksw
case 2:
set source="DICOM2"
breaksw
case 3: set source = "DICOM3"
breaksw
case 4:
set source = "DICOM4"
breaksw
case 5:
set source = "DICOM5"
breaksw
default :
set source = "DICOM2"
breaksw
endsw
breaksw
default :
set source="DICOM2"
breaksw
endsw

set workdirectory = "/Volumes/DATA"
cd $workdirectory
set currentdate = ` date +'%Y%m%d%H%M%S'`
set targetname = $currentdate".iso"
set targetzip = ${workdirectory}"/temp/"${currentdate}".zip"
if ( ! -d ./temp ) mkdir temp
set targettar = ${workdirectory}"/temp/"${targettar}
echo $targetzip "を作成します"
zip -qr9 $targetzip $source
##making iso image
hdiutil makehybrid -o $targetname temp -iso -udf -udf-volume-name $currentdate

set devicename = `hdiutil burn -list | grep "USB" | tail -n 1 | sed -e "s/^.//"`
echo $targetname "をBD-Rに書き込みます"
#echo "BD-Rは"$devicename"です”
#hdiutil burn -device "${devicename}" $targetname
drutil burn $targetname
echo "BD-R 書き込み終了しました。"

@ isonumber=`ls *.iso |wc -l `
echo "ISO file count=" $isonumber
ls -la *.iso
while ($isonumber >5)
set deletefilename = ` ls *.iso |sort | head -n 1`
echo "delete file name is " $deletefilename
rm $deletefilename
echo $deletefilename"を削除しました"
@ isonumber = $isonumber - 1
end
echo "テンポラリファイルを削除します"
rm -drf ./temp
drutil tray close

実際の焼き付けにはデバイス指定がhdiutilではかなり複雑なのだけどdrutilを使うと簡単なのでこちらを使うように変更した。

あとは2つのスクリプトをweeklyとでも名付けたスクリプトにまとめてcrontabに登録すればよい。

続きを読む
B級root
OsiriXを用いたPACSバックアップシステム(2)

さて従来使ってきたConquestであるが、そもそもこれを採用した理由は複雑なDBを用いずに特定のディレクトリにデータを蓄積してくれるからである。これは1週間ごとにデータをまとめるのに都合がよい。データディレクトリのひな形を作っておいてこれをコピーしてやればすぐにデータが空の状態に戻る。つまり1週間ごとにデータディレクトリの名前の変更をOSレベルでおこなえばアプリケーションは切り替えのタイミングで一時停止するだけでよい。いつデータが転送されてくるかわからないPACSでは停止期間は可能な限り短くしなければいけないからだ。

OsiriXもローカルファイルでデータベース管理しているので全く同じ方法が使える。

受信データフォルダをDICOMとすると、 #!/bin/csh
cd /Volumes/DATA
# 全体のデータディレクトリ
#-----------------------
#rotate data directories
# 一番古いものを削除
if (-d DICOM5) rm -drf DICOM5
# Stop Osirix
set ospid=`ps axu | grep "/Applications/OsiriX.app/Contents/MacOS/OsiriX" | grep -v "grep" | awk '{print $2}' `
if ( ${ospid} != "") kill $ospid
#rename directories
if ( ! -d DICOM5) mv -f DICOM4 DICOM5
if ( ! -d DICOM4) mv -f DICOM3 DICOM4
if (! -d DICOM3 ) mv -f DICOM2 DICOM3
if (! -d DICOM2 ) mv -f DICOM DICOM2
#ひな形の空のデータディレクトリをコピー
if (! -d DICOM ) cp -R DICOM.org DICOM
#---------------------------
#restart Osirix
/Applications/OsiriX.app/Contents/MacOS/OsiriX &

これで先週はDICOM2、先々週はDICOM3… と週ごとのデータベースに分かれるのだ。あくまでこれはデータ送信のタイミングに依存しているので厳密には検査日時と一致しない。後処理に時間がかかるものや持ち込みデータの登録などタイミングがずれるものもあり得る。したがってQ/Rの結果とは違うことを理解しておく必要がある。

続きを読む