# Finding position of objects of different shape

I have the following image taken with a CMOS camera (exposure time 0.012 sec, pixel size 23.5 micrometers):

It shows illuminated particles as bright spots. There where the particles don't move fast they are seen as circular shaped disks.

In the lower half of the image during the expose time the particles oscillate strongly along the vertical direction and are therefore seen as vertical stripes.

How can I find as much particles as possible and how can I determine their position?

To do that I use the code below, which is only successful with non-moving particles.

background = ImageConvolve[image, GaussianMatrix[25]];

threshold = 0.008;

imageData = ImageData[image];

diffValue = ImageData[background] + threshold;

data = imageData - diffValue;

subImageData = UnitStep[data];

binImg = Image@subImageData;

binImg = DeleteSmallComponents[binImg, 10];

imageWithoutBackground = ImageMultiply[image, binImg]

coordinates = Values@ComponentMeasurementsimageWithoutBackground, "IntensityCentroid"];

Show[image, Graphics[{Red, Point[#] & /@ coordinates}]]


How would you find the particles?