#!/bin/bash

TMPFILE=/tmp/tmp-cnv-bdm-$$

if [ "$1" != "" ] ; then
	cd $1
fi

for a in * .* ; do 
	if [ ! -f "$a" ] ; then
		continue;
	fi

	eccet_dicom_to_P5 <"$a" >"$TMPFILE"

	PATNAME=$(cat "$TMPFILE" | grep -a "Dicom/(0010,0010)" | sed -e"s/#.*: //" | tr -c "a-zA-Z0-9" "_")
	if [ "$PATNAME" = "" ] ; then
		PATNAME="Noname"
	fi
	SERUID=$(cat "$TMPFILE" | grep -a "Dicom/(0020,000E)" | sed -e"s/#.*: //")
	if [ "$SERUID" = "" ] ; then
		SERUID="None"
	fi

	DIRNAME="${PATNAME}_$SERUID"

	ZPOS=$(cat "$TMPFILE" | grep -a "Dicom/(0020,0013)" | sed -e"s/#.*: //")

	if [ "$ZPOS" = "" ] ; then
		continue;
	fi

	ZPOS=$( printf "%04d" "$ZPOS" )
	mkdir -p "${DIRNAME}"
	TARGET="${DIRNAME}/${ZPOS}.dcm"
	
	if [ -e "$TARGET" ] ; then
		echo "Can't move $a to $TARGET."
		continue
	fi

	mv "$a" "$TARGET" 2>&1
	chmod a-x "$TARGET"
	chmod ug+w "$TARGET"
done

rm -f "$TMPFILE"

exit 0
