Index: branches/eam_branches/20091201/ippconfig/gpc1/ppImage.config
===================================================================
--- branches/eam_branches/20091201/ippconfig/gpc1/ppImage.config	(revision 26769)
+++ branches/eam_branches/20091201/ippconfig/gpc1/ppImage.config	(revision 26776)
@@ -24,6 +24,6 @@
 NOISEMAP                BOOL    FALSE          # Apply read noise map
 
-PATTERN		BOOL 	FALSE	# Do any pattern subtraction at all?
-PATTERN.SUBSET	METADATA	# List of chips and whether to do pattern subtraction
+PATTERN.ROW		BOOL 	FALSE	# Do any row pattern correction at all?
+PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
 	XY01	BOOL	FALSE
 	XY02	BOOL	FALSE
@@ -283,4 +283,1042 @@
 END
 
+PATTERN.CELL		BOOL 	TRUE	# Do any cell pattern correction at all?
+PATTERN.CELL.SUBSET	METADATA	# List of chips and whether to do cell pattern correction
+	XY01	BOOL	FALSE
+	XY02	BOOL	FALSE
+	XY03	BOOL	FALSE
+	XY04	BOOL	FALSE
+	XY05	BOOL	FALSE
+	XY06	METADATA
+		xy00	BOOL	TRUE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	TRUE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	TRUE
+		xy25	BOOL	FALSE
+		xy26	BOOL	TRUE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	TRUE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY10	BOOL	FALSE
+	XY11	BOOL	FALSE
+	XY12	BOOL	FALSE
+	XY13	BOOL	FALSE
+	XY14	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	TRUE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	TRUE
+		xy73	BOOL	FALSE
+		xy74	BOOL	TRUE
+		xy75	BOOL	TRUE
+		xy76	BOOL	FALSE
+		xy77	BOOL	TRUE
+	END
+	XY15	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	TRUE
+		xy06	BOOL	TRUE
+		xy07	BOOL	TRUE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	TRUE
+		xy14	BOOL	TRUE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	TRUE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	TRUE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	TRUE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	TRUE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	TRUE
+		xy54	BOOL	TRUE
+		xy55	BOOL	TRUE
+		xy56	BOOL	TRUE
+		xy57	BOOL	TRUE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	TRUE
+		xy64	BOOL	FALSE
+		xy65	BOOL	TRUE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	TRUE
+		xy74	BOOL	TRUE
+		xy75	BOOL	TRUE
+		xy76	BOOL	TRUE
+		xy77	BOOL	TRUE
+	END
+	XY16	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	TRUE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	TRUE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY17	BOOL	FALSE
+	XY20	BOOL	FALSE
+	XY21	BOOL	FALSE
+	XY22	BOOL	FALSE
+	XY23	BOOL	FALSE
+	XY24	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	TRUE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	TRUE
+		xy32	BOOL	TRUE
+		xy33	BOOL	FALSE
+		xy34	BOOL	TRUE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	TRUE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	TRUE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	TRUE
+		xy63	BOOL	TRUE
+		xy64	BOOL	TRUE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY25	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	TRUE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	TRUE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	TRUE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	TRUE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	TRUE
+		xy23	BOOL	FALSE
+		xy24	BOOL	TRUE
+		xy25	BOOL	TRUE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	TRUE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	TRUE
+		xy46	BOOL	TRUE
+		xy47	BOOL	TRUE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	TRUE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	TRUE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	TRUE
+		xy77	BOOL	FALSE
+	END
+	XY26	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	TRUE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	TRUE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	TRUE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY27	BOOL	FALSE
+	XY30	BOOL	FALSE
+	XY31	BOOL	FALSE
+	XY32	BOOL	FALSE
+	XY33	BOOL	FALSE
+	XY34	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	TRUE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	TRUE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	TRUE
+		xy65	BOOL	FALSE
+		xy66	BOOL	TRUE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	TRUE
+		xy73	BOOL	TRUE
+		xy74	BOOL	TRUE
+		xy75	BOOL	FALSE
+		xy76	BOOL	TRUE
+		xy77	BOOL	TRUE
+	END
+	XY35	BOOL	FALSE
+	XY36	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	TRUE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY37	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	TRUE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	TRUE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	TRUE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	TRUE
+		xy61	BOOL	FALSE
+		xy62	BOOL	TRUE
+		xy63	BOOL	TRUE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	TRUE
+		xy71	BOOL	FALSE
+		xy72	BOOL	TRUE
+		xy73	BOOL	TRUE
+		xy74	BOOL	FALSE
+		xy75	BOOL	TRUE
+		xy76	BOOL	TRUE
+		xy77	BOOL	FALSE
+	END
+	XY40	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	TRUE
+		xy33	BOOL	FALSE
+		xy34	BOOL	TRUE
+		xy35	BOOL	TRUE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	TRUE
+		xy56	BOOL	TRUE
+		xy57	BOOL	TRUE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	TRUE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	TRUE
+		xy74	BOOL	TRUE
+		xy75	BOOL	TRUE
+		xy76	BOOL	TRUE
+		xy77	BOOL	TRUE
+	END
+	XY41	BOOL	FALSE
+	XY42	BOOL	FALSE
+	XY43	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	TRUE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	TRUE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	TRUE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	TRUE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	TRUE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	TRUE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY44	BOOL	FALSE
+	XY45	BOOL	FALSE
+	XY46	BOOL	FALSE
+	XY47	BOOL	FALSE
+	XY50	BOOL	FALSE
+	XY51	BOOL	FALSE
+	XY52	BOOL	FALSE
+	XY53	BOOL	FALSE
+	XY54	BOOL	FALSE
+	XY55	BOOL	FALSE
+	XY56	BOOL	FALSE
+	XY57	BOOL	FALSE
+	XY60	BOOL	FALSE
+	XY61	BOOL	FALSE
+	XY62	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	TRUE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	TRUE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	TRUE
+		xy75	BOOL	FALSE
+		xy76	BOOL	TRUE
+		xy77	BOOL	FALSE
+	END
+	XY63	BOOL	FALSE
+	XY64	BOOL	FALSE
+	XY65	BOOL	FALSE
+	XY66	BOOL	FALSE
+	XY67	BOOL	FALSE
+	XY71	BOOL	FALSE
+	XY72	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	FALSE
+		xy04	BOOL	FALSE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	FALSE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	TRUE
+	END
+	XY73	METADATA
+		xy00	BOOL	FALSE
+		xy01	BOOL	FALSE
+		xy02	BOOL	FALSE
+		xy03	BOOL	TRUE
+		xy04	BOOL	TRUE
+		xy05	BOOL	FALSE
+		xy06	BOOL	FALSE
+		xy07	BOOL	FALSE
+		xy10	BOOL	FALSE
+		xy11	BOOL	FALSE
+		xy12	BOOL	FALSE
+		xy13	BOOL	FALSE
+		xy14	BOOL	FALSE
+		xy15	BOOL	FALSE
+		xy16	BOOL	FALSE
+		xy17	BOOL	FALSE
+		xy20	BOOL	FALSE
+		xy21	BOOL	FALSE
+		xy22	BOOL	FALSE
+		xy23	BOOL	FALSE
+		xy24	BOOL	FALSE
+		xy25	BOOL	FALSE
+		xy26	BOOL	FALSE
+		xy27	BOOL	FALSE
+		xy30	BOOL	FALSE
+		xy31	BOOL	FALSE
+		xy32	BOOL	FALSE
+		xy33	BOOL	FALSE
+		xy34	BOOL	FALSE
+		xy35	BOOL	FALSE
+		xy36	BOOL	TRUE
+		xy37	BOOL	FALSE
+		xy40	BOOL	FALSE
+		xy41	BOOL	FALSE
+		xy42	BOOL	FALSE
+		xy43	BOOL	FALSE
+		xy44	BOOL	FALSE
+		xy45	BOOL	FALSE
+		xy46	BOOL	FALSE
+		xy47	BOOL	FALSE
+		xy50	BOOL	FALSE
+		xy51	BOOL	FALSE
+		xy52	BOOL	FALSE
+		xy53	BOOL	FALSE
+		xy54	BOOL	FALSE
+		xy55	BOOL	FALSE
+		xy56	BOOL	FALSE
+		xy57	BOOL	FALSE
+		xy60	BOOL	FALSE
+		xy61	BOOL	FALSE
+		xy62	BOOL	FALSE
+		xy63	BOOL	FALSE
+		xy64	BOOL	FALSE
+		xy65	BOOL	FALSE
+		xy66	BOOL	FALSE
+		xy67	BOOL	FALSE
+		xy70	BOOL	FALSE
+		xy71	BOOL	FALSE
+		xy72	BOOL	FALSE
+		xy73	BOOL	FALSE
+		xy74	BOOL	FALSE
+		xy75	BOOL	FALSE
+		xy76	BOOL	FALSE
+		xy77	BOOL	FALSE
+	END
+	XY74	BOOL	FALSE
+	XY75	BOOL	FALSE
+	XY76	BOOL	FALSE
+END
 
 TILTYSTREAK.BY.CLASS METADATA              # apply the 'tiltystreak' tool
@@ -415,6 +1453,7 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
-  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
-  PATTERN          BOOL    TRUE            # Subtract pattern noise
+  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	   BOOL	   TRUE		   # Cell pattern correction
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -1191,5 +2230,6 @@
   MASK             BOOL    TRUE            # Mask bad pixels
   FRINGE           BOOL    FALSE           # Fringe subtraction
-  PATTERN          BOOL    TRUE            # Subtract pattern noise
+  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	   BOOL	   TRUE		   # Cell pattern correction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
   BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
@@ -1228,5 +2268,6 @@
   CROSSTALK.MEASURE  BOOL    TRUE            # Subtract model background?
   TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
-  PATTERN            BOOL    TRUE            # Subtract pattern noise
+  PATTERN.ROW        BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	     BOOL    TRUE	     # Cell pattern correction
   NOISEMAP           BOOL    TRUE            # Apply read noise map
 END
Index: branches/eam_branches/20091201/ippconfig/recipes/ppImage.config
===================================================================
--- branches/eam_branches/20091201/ippconfig/recipes/ppImage.config	(revision 26769)
+++ branches/eam_branches/20091201/ippconfig/recipes/ppImage.config	(revision 26776)
@@ -18,6 +18,9 @@
 MASK.BURNTOOL      BOOL    FALSE           # Mask potential burntool trails
 VARIANCE.BUILD     BOOL    FALSE           # Build internal variance image
-PATTERN            BOOL    FALSE           # Fit and remove pattern noise?
-PATTERN.SUBSET	   METADATA
+PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+PATTERN.ROW.SUBSET METADATA		   # Menu of chips and/or cells for row pattern correction
+END
+PATTERN.CELL       BOOL    FALSE           # Cell pattern correction
+PATTERN.CELL.SUBSET METADATA		   # Menu of chips and/or cells for cell pattern correction
 END
 FRINGE             BOOL    FALSE           # Fringe subtraction
@@ -90,10 +93,12 @@
 
 # Pattern subtraction options
-PATTERN.ORDER      S32     2               # Polynomial order
-PATTERN.ITER       S32     4               # Rejection iterations
-PATTERN.REJ        F32     2.5             # Rejection threshold
-PATTERN.THRESH     F32	   20.0		   # Ignore threshold
-PATTERN.MEAN       STR     SAMPLE_MEAN     # Statistic for mean
-PATTERN.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation
+PATTERN.ROW.ORDER      S32     2               # Polynomial order for row pattern
+PATTERN.ROW.ITER       S32     4               # Rejection iterations for row pattern
+PATTERN.ROW.REJ        F32     2.5             # Rejection threshold for row pattern
+PATTERN.ROW.THRESH     F32     20.0            # Ignore threshold for row pattern
+PATTERN.ROW.MEAN       STR     SAMPLE_MEAN     # Statistic for mean for row pattern
+PATTERN.ROW.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation for row pattern
+PATTERN.CELL.BG	       STR     ROBUST_MEDIAN   # Statistic for background for cell pattern
+PATTERN.CELL.MEAN      STR     SAMPLE_MEDIAN   # Statistic for mean for cell pattern
 
 # Fringe subtraction options
