1. A method for generating a crystal lookup table for use in a nuclear imaging scanner, comprising: generating a block position profile for a multiplicity of events, the block position profile consisting of X and Y position data of said events; sequentially reading the X and Y position data of the events in at least one of a histogrammed block position profile for software simulation and on the fly with FPGA hardware implementation; inputting the X and Y data for each of said events into a self-organizing feature map as an input vector; defining a weight matrix which represents at least one of neuron positions, and detector pixel locations; updating the weight matrix for all neurons within a predetermined neighborhood to generate pixel locations; and following system training, constructing a crystal lookup table using the generated pixel locations.