PATHTOROOT = ../../..

OBJS = \
OCR.class \
TestOCRAgainstTabulatedData.class \
ExposureDoseSequence.class

all:	${OBJS}

include ${PATHTOROOT}/Makefile.common.mk

.java.class:
	javac ${JAVACOPTIONS} -classpath ${PATHTOROOT}:${JUNITJAR} -sourcepath ${PATHTOROOT} -target 1.5 -encoding "UTF8" $<

clean:
	rm -f *~ *.class core *.bak ${OBJS}
	
testocrtrain:	${OBJS}
	cp OCR_Glyphs_GEDoseScreen.xml /tmp/testocr_all.xml
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/*.tif; \
	do \
		echo $$i; \
		java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i -  - /tmp/testocr_all.xml /tmp/testocr_all.xml; \
	done
	@echo "New glyph dictionary source is in /tmp/testocr_all.xml"

testocr:	${OBJS}
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/*.tif; \
	do \
		echo $$i; \
		java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i ; \
	done

testocronepgm:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.pgm

testocronedcm:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm

testocronedcmunspecifiedglyphfile:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm \
		- - \
		-

testocronedcmudebuglevel:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm \
		- - \
		- - 1

testocronedcmwindow1:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_lightspeedvct_amc16bitsignedtoonarrowwindow.dcm \
		- - \
		- - 0

testocronedcmwindow2:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/IOImages/cdsWithBothDoseImageAndSR/CD0817141621_Cleaned/DICOM/I619 \
		- - \
		- - 0
		
testocronedcmwindow3:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/1.2.124.113532.10.8.8.91.20080701.165343.367049 \
		- - \
		- - 0
		
testocronedcmglyphfile:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm \
		- - \
		OCR_Glyphs_GEDoseScreen.xml

testocronedcmtrainglyphfile:	${OBJS}
	cp OCR_Glyphs_GEDoseScreen.xml /tmp/testocr_all.xml
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm \
		- - \
		/tmp/testocr_all.xml /tmp/testocr_all.xml
	@echo "New glyph dictionary source is in /tmp/testocr_all.xml"

testocronedcmallargshyphen:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm \
		- - - -

testocronedcmsroutput:	${OBJS}
	@rm -f /tmp/dosesrfile.dcm
	@echo "Building ..."
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_discoveryste_screen_original.dcm \
		- \
		/tmp/dosesrfile.dcm
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm

testocralltif:	${OBJS}
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ctdosereportoriginals_allinonefolder/*.tif; \
	do \
		echo $$i; \
		java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i ; \
	done

testocralldcm:	${OBJS}
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ctdosereportoriginals_allinonefolder/*dcm ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/[0-9]*; \
	do \
		echo $$i; \
		java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i ; \
	done

testocrdifferentfont:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_lightspeedplus_differentfont_screen_original.pgm \
		- - \
		- /tmp/testocr_all.xml
	@echo "New glyph dictionary source is in /tmp/testocr_all.xml"
	
testocryetanotherdifferentfont:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ge_lightspeed16_yetanotherdifferentfont_screen.dcm \
		- - \
		- /tmp/testocr_all.xml
	@echo "New glyph dictionary source is in /tmp/testocr_all.xml"

testocracquiredimages:	${OBJS}
	@echo "Building ..."
	@rm -f /tmp/dosesrfile.dcm
	java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImagesCDImageAcquiredImagesAndSeries999/Dicom/F001/S000004/I000497.DCM \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImagesCDImageAcquiredImagesAndSeries999/DICOMDIR \
		/tmp/dosesrfile.dcm
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm

testocracquiredimagesfindscreen:	${OBJS}
	@echo "Building ..."
	@rm -f /tmp/dosesrfile.dcm
	java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		- \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImagesCDImageAcquiredImagesAndSeries999/DICOMDIR \
		/tmp/dosesrfile.dcm
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm

testocrdatafiles:	TestOCRAgainstTabulatedData.class ${OBJS}
	java -cp ${PATHTOROOT}:${JUNITJAR}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true org.junit.runner.JUnitCore com.pixelmed.doseocr.TestOCRAgainstTabulatedData

testphilipsonedcm:	${OBJS}
	@echo "Building ..."
	@rm -f /tmp/dosesrfile.dcm
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.ExposureDoseSequence \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/philips_brilliance64_sc_original.dcm \
		- /tmp/dosesrfile.dcm 0
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm

testphilipsonedcmnoacq:	${OBJS}
	@echo "Building ..."
	@rm -f /tmp/dosesrfile.dcm
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.ExposureDoseSequence \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/philips_loc_noacquisitiontype_original.dcm \
		- /tmp/dosesrfile.dcm 0
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm

testphilipsonedcmtotalonly:	${OBJS}
	@echo "Building ..."
	@rm -f /tmp/dosesrfile.dcm
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.ExposureDoseSequence \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/philips_loc_secondarytotaldlponly_original.dcm \
		- /tmp/dosesrfile.dcm 0
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm


