Basecalling is a critical step of the analysis of DNA resequencing microarray data for single nucleotide polymorphism discovery and genotyping. For microarrays hybridized with DNA derived from diploid organisms, basecalling with high accuracy at high call rates is a challenging task. Current methods sometimes do not produce satisfactory results.