PATHTOROOT = ../../..

OBJS = \
OCR.class \
TestOCRAgainstTabulatedData.class \
ExposureDoseSequence.class \
RenderedDoseReport.class \
GenerateRadiationDoseStructuredReport.class \
LegacyRadiationDoseOCRDicomForwardingService.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_DoseScreen.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_DoseScreen.xml

testocronedcmtrainglyphfile:	${OBJS}
	cp OCR_Glyphs_DoseScreen.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/series999FilesCopied/[0-9]* ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/series501FilesCopied/[0-9]*; \
	do \
		echo $$i; \
		java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i ; \
	done

testocralldcmsr_create:	${OBJS}
	mkdir -p ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/srcomparefiles
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ctdosereportoriginals_allinonefolder/*dcm ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/series999FilesCopied/[0-9]* ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/series501FilesCopied/[0-9]*; \
	do \
		echo $$i; \
		srcomparebasename=`dckey -noerror -ignorereaderrors -k SOPInstanceUID $$i 2>&1 | egrep -iv '(error|warning)'`.sr; \
		java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i - ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/srcomparefiles/$$srcomparebasename; \
	done

testocralldcmsr:	${OBJS}
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/ctdosereportoriginals_allinonefolder/*dcm ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/series999FilesCopied/[0-9]* ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseFilesCopied/series501FilesCopied/[0-9]*; \
	do \
		echo $$i; \
		srcomparebasename=`dckey -noerror -ignorereaderrors -k SOPInstanceUID $$i 2>&1 | egrep -iv '(error|warning)'`.sr; \
		java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR $$i - /tmp/dosesrfile.dcm; \
		echo "Comparing SR file"; \
		dcsrdiff ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/srcomparefiles/$$srcomparebasename /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; \
		rm -f /tmp/dosesrfile.dcm; \
	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 >/tmp/dosesrfile.dcm.build.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.build.log ] ; \
	then \
		echo "Comparing build log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.build.log /tmp/dosesrfile.dcm.build.log; \
	fi
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dcsrdump.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.dcsrdump.log ] ; \
	then \
		echo "Comparing dcsrdump log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.dcsrdump.log /tmp/dosesrfile.dcm.dcsrdump.log; \
	fi
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.DicomSRValidator.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.DicomSRValidator.log ] ; \
	then \
		echo "Comparing structure validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.DicomSRValidator.log /tmp/dosesrfile.dcm.DicomSRValidator.log; \
	fi
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dciodvfy.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.dciodvfy.log ] ; \
	then \
		echo "Comparing DICOM encoding validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesfindscreen/dosesrfile.dcm.dciodvfy.log /tmp/dosesrfile.dcm.dciodvfy.log; \
	fi

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 >/tmp/dosesrfile.dcm.build.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.build.log ] ; \
	then \
		echo "Comparing build log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.build.log /tmp/dosesrfile.dcm.build.log; \
	fi
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dcsrdump.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.dcsrdump.log ] ; \
	then \
		echo "Comparing dcsrdump log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.dcsrdump.log /tmp/dosesrfile.dcm.dcsrdump.log; \
	fi
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.DicomSRValidator.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.DicomSRValidator.log ] ; \
	then \
		echo "Comparing structure validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.DicomSRValidator.log /tmp/dosesrfile.dcm.DicomSRValidator.log; \
	fi
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dciodvfy.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.dciodvfy.log ] ; \
	then \
		echo "Comparing DICOM encoding validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testphilipsonedcm/dosesrfile.dcm.dciodvfy.log /tmp/dosesrfile.dcm.dciodvfy.log; \
	fi

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

testocracquiredimagesphilipsdcmsroutput:	${OBJS}
	@rm -f /tmp/dosesrfile.dcm
	@echo "Building ..."
	java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.ExposureDoseSequence \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/RSNA_demo_2010/Dose/PixelMed/P0001/DICOM/I509 \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/RSNA_demo_2010/Dose/PixelMed/P0001/DICOMDIR \
		/tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.build.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.build.log ] ; \
	then \
		echo "Comparing build log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.build.log /tmp/dosesrfile.dcm.build.log; \
	fi
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dcsrdump.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.dcsrdump.log ] ; \
	then \
		echo "Comparing dcsrdump log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.dcsrdump.log /tmp/dosesrfile.dcm.dcsrdump.log; \
	fi
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.DicomSRValidator.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.DicomSRValidator.log ] ; \
	then \
		echo "Comparing structure validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.DicomSRValidator.log /tmp/dosesrfile.dcm.DicomSRValidator.log; \
	fi
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dciodvfy.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.dciodvfy.log ] ; \
	then \
		echo "Comparing DICOM encoding validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagesphilipsdcmsroutput/dosesrfile.dcm.dciodvfy.log /tmp/dosesrfile.dcm.dciodvfy.log; \
	fi

testocrsiemensone:	${OBJS}
	java -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		"${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/IOImages/interesting501/CD0714122112/SAMPLE/EXSAMPLE_CT SCAN/DICOM/PA000000/ST000000/SE000008/IM000000" \
		- - \
		- - 0

testocrtrainsiemens:	${OBJS}
	cp OCR_Glyphs_DoseScreen.xml /tmp/testocr_all.xml
	for i in ${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/DoseImages/IOImages/series501FilesCopied/*; \
	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"

testocronesiemensdcmsroutput:	${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/IOImages/interesting501/CD0714122112/SAMPLE/EXSAMPLE_CT SCAN/DICOM/PA000000/ST000000/SE000008/IM000000" \
		- \
		/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

# RSNA_demo_2010/Dose/SIEMENS_DOSE is interesting because it a) has supplied IrradiationEventUIDs, b) it spans series, and c) it has different BodyPartExamined values within that single event that should be combined
testocracquiredimagessiemensdcmsroutput:	${OBJS}
	@rm -f /tmp/dosesrfile.dcm
	@echo "Building ..."
	java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.OCR \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/RSNA_demo_2010/Dose/SIEMENS_DOSE/DICOM/20101025/16490000/03383065 \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/RSNA_demo_2010/Dose/SIEMENS_DOSE/DICOMDIR \
		/tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.build.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.build.log ] ; \
	then \
		echo "Comparing build log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.build.log /tmp/dosesrfile.dcm.build.log; \
	fi
	@echo "Dumping ..."
	dcsrdump -identifier /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dcsrdump.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.dcsrdump.log ] ; \
	then \
		echo "Comparing dcsrdump log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.dcsrdump.log /tmp/dosesrfile.dcm.dcsrdump.log; \
	fi
	@echo "Validating structure ..."
	java -cp ${PATHTOROOT} -Djava.awt.headless=true com.pixelmed.validate.DicomSRValidator /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.DicomSRValidator.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.DicomSRValidator.log ] ; \
	then \
		echo "Comparing structure validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.DicomSRValidator.log /tmp/dosesrfile.dcm.DicomSRValidator.log; \
	fi
	@echo "Validating DICOM encoding ..."
	dciodvfy /tmp/dosesrfile.dcm >/tmp/dosesrfile.dcm.dciodvfy.log 2>&1
	@if [ -f ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.dciodvfy.log ] ; \
	then \
		echo "Comparing DICOM encoding validation log  ..."; \
		diff ${PATHTOROOT}/${PATHTOTESTRESULTSFROMROOT}/testocracquiredimagessiemensdcmsroutput/dosesrfile.dcm.dciodvfy.log /tmp/dosesrfile.dcm.dciodvfy.log; \
	fi

testrenderedreportsiemens:	${OBJS}
	java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.RenderedDoseReport \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/RSNA_demo_2010/Dose/SIEMENS_DOSE/DICOMDIR

testgeneratesrsiemens:	${OBJS}
	java -Xmx512m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar -Djava.awt.headless=true com.pixelmed.doseocr.GenerateRadiationDoseStructuredReport \
		${PATHTOROOT}/${PATHTOTESTFILESFROMROOT}/RSNA_demo_2010/Dose/SIEMENS_DOSE/DICOMDIR

testocrservice:	LegacyRadiationDoseOCRDicomForwardingService.class
	java -Xmx256m -cp ${PATHTOROOT}:${PATHTOADDITIONAL}/jai_imageio.jar \
			-server -Djava.awt.headless=true \
			com.pixelmed.doseocr.LegacyRadiationDoseOCRDicomForwardingService \
			4012 OCRANDFORWARD \
			localhost 4011 PACS \
			1

testallocrsrdiff:	testocracquiredimagessiemensdcmsroutput testphilipsonedcm testocracquiredimagesfindscreen

