An apparatus for estimating a position of one or more particles in a three-dimensional space, the apparatus comprising: an astigmatic imaging system , , defining an optical axis and having a point-spread function (PSF) that is asymmetric with respect to the optical axis; a detector, , in optical communication with the imaging system, for detecting a first image of a plane in the 3D space; a memory, , operably coupled to the detector, storing a representation of the first image; and a processor, , including at least one central processing unit (CPU), , and at least one graphics processing unit (GPU), , in communication with the CPU, wherein the CPU is operably coupled to the memory and wherein, while the imaging system acquires another image of the plane in the 3D space, the CPU is configured to: (a) retrieve from the memory the first image of a plane in the 3D space; (b) perform a wavelet decomposition of the retrieved image to form a wavelet map of the image; (c) segment the wavelet map into at least one region having intensity values above a predetermined threshold; (d) estimate the location of a centroid of the at least one region, the location of the centroid corresponding to a transverse position of a particle of the one or more particles within the plane in the 3D space; and wherein the GPU is configured to: (e) compute a fit of the PSF to the at least one region of the segmented wavelet map; (f) use the fit to estimate an axial position of the plane with respect to a focal plane of the imaging system and use the axial position of the plane to estimate an axial position of the particle. an astigmatic imaging system , , defining an optical axis and having a point-spread function (PSF) that is asymmetric with respect to the optical axis; a detector, , in optical communication with the imaging system, for detecting a first image of a plane in the 3D space; a memory, , operably coupled to the detector, storing a representation of the first image; and a processor, , including at least one central processing unit (CPU), , and at least one graphics processing unit (GPU), , in communication with the CPU, wherein the CPU is operably coupled to the memory and wherein, while the imaging system acquires another image of the plane in the 3D space, the CPU is configured to: (a) retrieve from the memory the first image of a plane in the 3D space; (b) perform a wavelet decomposition of the retrieved image to form a wavelet map of the image; (c) segment the wavelet map into at least one region having intensity values above a predetermined threshold; (d) estimate the location of a centroid of the at least one region, the location of the centroid corresponding to a transverse position of a particle of the one or more particles within the plane in the 3D space; and wherein the GPU is configured to: (e) compute a fit of the PSF to the at least one region of the segmented wavelet map; (f) use the fit to estimate an axial position of the plane with respect to a focal plane of the imaging system and use the axial position of the plane to estimate an axial position of the particle. (a) retrieve from the memory the first image of a plane in the 3D space; (b) perform a wavelet decomposition of the retrieved image to form a wavelet map of the image; (c) segment the wavelet map into at least one region having intensity values above a predetermined threshold; (d) estimate the location of a centroid of the at least one region, the location of the centroid corresponding to a transverse position of a particle of the one or more particles within the plane in the 3D space; and wherein the GPU is configured to: (e) compute a fit of the PSF to the at least one region of the segmented wavelet map; (f) use the fit to estimate an axial position of the plane with respect to a focal plane of the imaging system and use the axial position of the plane to estimate an axial position of the particle. <EOS>