# Median does not work directly on c(XXa$red,XXb$red,XXc$red)!!

require(pixmap)
XXa<-attributes(read.pnm("D202-1_003a.ppm"))
XXb<-attributes(read.pnm("D202-1_003b.ppm"))
XXc<-attributes(read.pnm("D202-1_003c.ppm"))

rows<- XXa$size[1]
cols<- XXa$size[2]

XXblu<-XXgre<-XXred<- matrix(0, rows,cols)

for (i in 1: rows) { for (j in 1:cols) {
       XXred[i,j]<- median(c(XXa$red[i,j],XXb$red[i,j],XXc$red[i,j]))
       XXgre[i,j]<- median(c(XXa$green[i,j],XXb$green[i,j],XXc$green[i,j]))
       XXblu[i,j]<- median(c(XXa$blue[i,j],XXb$blue[i,j],XXc$blue[i,j]))
                                       }
                    }

dat<- array(c(XXred, XXgre, XXblu), c(attributes(XXred)$dim,3))
XX<- pixmapRGB(dat)

write.pnm(XX, file="D202-1_003med.ppm")
rm(list=ls())
cat("Done\n") 