dcm4chee で保存されている dicom ファイルを解析するためには、どれくらいのファイルがそこにあるのかを知る必要があります。dcm4chee は「2017/12/1/9」というような構造をしているので、以下のようなシェルスクリプトを作成すると、その構造が一瞬でわかります。
scandir.sh
#!/bin/bash
cd /var/www/html
for file in `\find 'DICOM/2017' -mindepth 3 -maxdepth 3 -type d`; do
echo $file
done
結果は
DICOM/2017/12/7
DICOM/2017/12/2
DICOM/2017/12/1
DICOM/2017/12/29
DICOM/2017/12/11
DICOM/2017/12/6
DICOM/2017/12/19
DICOM/2017/12/5
DICOM/2017/12/20
DICOM/2017/12/26
DICOM/2017/12/28
DICOM/2017/12/25
DICOM/2017/12/8
DICOM/2017/12/27
DICOM/2017/12/18
DICOM/2017/12/22
DICOM/2017/12/21
DICOM/2017/12/14
DICOM/2017/12/4
DICOM/2017/12/15
DICOM/2017/12/9
DICOM/2017/12/12
DICOM/2017/12/16
DICOM/2017/12/13
DICOM/2017/12/31
これで、2017年にインポートされ構築された日にちでの dicom ファイルを収納しているディレクトリの一覧ができました。
(ここには12月分しかないのでこのようになります)
最初は時刻までと思いましたが、日にちまででいいと思います。
配列格納した後、mysql に書き込む
まずはデータベースとテーブルの作成。
mysql> CREATE DATABASE dcmdir;
mysql> USE dcmdir;
mysql> CREATE TABLE `dirlist` (
`thisID` int AUTO_INCREMENT,
`path` varchar(50) NOT NULL,
`hizuke` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`analysis` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`time` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
PRIMARY KEY (thisID)
) ;
次のようなシェルスクリプトを作成。
dir1.sh
#!/bin/bash
MYSQL="mysql -vvv -u root -ppassword dcmdir"
declare -a dirarr=()
cd /var/www/html
for file in `\find 'DICOM' -mindepth 3 -maxdepth 3 -type d`; do
dirarr+=( $file )
done
# mysqlにinsert
i=0
for e in ${dirarr[@]}; do
$MYSQL <<EOF
INSERT INTO dirlist (path) VALUES ('$e');
EOF
let i++
done
実行すると以下のようなデータが作成されます。