A computer implemented method of cell-level FISH dot counting of a biological sample, the computer including a processor, the method comprising: a. receiving by the processor a first image of a biological sample stained with a nuclear counterstain b. transforming by the processor the image into a nuclear counterstain mask by segmenting the nuclei of the biological sample based on intensity of the signal from the nuclear counterstain; c. receiving by the processor a second image of a biological sample stained with a hybridized in situ fluorescent probe (FISH probe); d. applying by the processor a multi-level extended h-maxima or h-minima to the second image to extract a FISH binary mask; e. aligning and overlaying the nuclear counterstain mask and FISH binary mask by the processor according to the signals detected; and f. counting by the processor the number of FISH dots inside each nucleus using local maxima and size constraints, wherein in step d. the best h level for each cell (i) is selected by the processor using a rule-based approach comprising: 1) computing by the processor a contrast score R i j used to accept or reject a level such that: R i j = | P i | | C i |,0 ≤ Rij ≤ 1 where; P i is the set of pixels in the i th cell with intensity values greater than a specific threshold; Ci the set of all pixels in the i th cell; P i = ∀ p ∈ C i: I p > μ i j + 2 σ i j; I(p) is the intensity value at pixel p; and μ i j and σ i j are the intensity mean and standard deviation of the background (non-FISH) pixels inside the ith cell at level j for a cell i; and 2) comparing the contrast score to an acceptance threshold and a high-detection threshold. a. receiving by the processor a first image of a biological sample stained with a nuclear counterstain b. transforming by the processor the image into a nuclear counterstain mask by segmenting the nuclei of the biological sample based on intensity of the signal from the nuclear counterstain; c. receiving by the processor a second image of a biological sample stained with a hybridized in situ fluorescent probe (FISH probe); d. applying by the processor a multi-level extended h-maxima or h-minima to the second image to extract a FISH binary mask; e. aligning and overlaying the nuclear counterstain mask and FISH binary mask by the processor according to the signals detected; and f. counting by the processor the number of FISH dots inside each nucleus using local maxima and size constraints, 1) computing by the processor a contrast score R i j used to accept or reject a level such that: R i j = | P i | | C i |,0 ≤ Rij ≤ 1 where; P i is the set of pixels in the i th cell with intensity values greater than a specific threshold; Ci the set of all pixels in the i th cell; P i = ∀ p ∈ C i: I p > μ i j + 2 σ i j; I(p) is the intensity value at pixel p; and μ i j and σ i j are the intensity mean and standard deviation of the background (non-FISH) pixels inside the ith cell at level j for a cell i; and P i is the set of pixels in the i th cell with intensity values greater than a specific threshold; Ci the set of all pixels in the i th cell; I(p) is the intensity value at pixel p; and μ i j and σ i j are the intensity mean and standard deviation of the background (non-FISH) pixels inside the ith cell at level j for a cell i; and 2) comparing the contrast score to an acceptance threshold and a high-detection threshold.