October 30, 2010

Fish counting: an image analysis example

Filed under: image processing/image analysis software — Peter Saveliev @ 11:08 am

Q: “As I am learning your software, I can tell that is built to analyze very complicated images and in our filed should be much easy… if your software can …count fishes automatically from a picture.”

I’ve looked at the pictures. It seems that Pixcavator can do quite a lot here. In the image below, all fishes are captured and the total is 291.


October 22, 2010

To attend “Computational Topology” short course

Filed under: education,mathematics,news — Peter Saveliev @ 10:56 am

I pan to attend short course “Computational Topology” conducted by the American Mathematical Society in New Orleans, January 4 and 5, 2011.


Computational topology has developed in response to the need for topological methods in these areas:

  1. Robotics: capturing the connectivity of the configuration space of a robot in order to plan optimal trajectories.
  2. Computational structural biology: finding optimal trajectories within the conformation space of a protein to define its folding path.
  3. Computer graphics: reconstructing surfaces.
  4. Data mining: robust analysis of noisy, high-dimensional, heterogeneous, sampled data.

This course will introduce the audience to recent theoretical as well as practical developments of this field, starting with a theoretical grounding in algebraic topology and ending with analysis of real world data using fast software.

The concept central to this field is persistent homology.

October 17, 2010

My “Fantasy Math” project

Filed under: education,mathematics — Peter Saveliev @ 12:10 pm

I would like to come up with an outline of what undergraduate mathematics curriculum ought to be. I want to go wild and ignore the reality: prerequisites, “service courses”, overlapping degree requirements, transfer students, high school curriculum, SATs, GREs, etc.

It’s similar to baseball, football fantasy leagues. One puts the existing players at the right positions to make the best possible team. Sadly, the team will never play…

This is my first attempt.

First, I want to include discrete functions.

Consider the fact that nowadays data comes in the digital format. This data is simply large tables of numbers. Sometimes there is a continuous function or process behind the numbers but not always. The issues are the same though: max/min, increasing/decreasing behavior, rate of change, etc. Just two examples:

What is commonly done is to go back to continuous functions: approximation, interpolation, curve fitting, etc. Not the best solution and it requires more advanced math. Meanwhile, a typical graduate never sees this and now he doesn’t see a relation between what he does with Excel every day and what he learned in the calculus class.

The bottom line: the numerical/computational aspect should be built in!

Courses affected:

  1. Calculus 1-3 (and the prerequisites),
  2. ODEs and PDEs,
  3. Differential Geometry.

How to do this? Not an easy question.

It’s more or less clear for #3: discrete differential forms and discrete exterior calculus. There is a lot of literature on these methods in modeling and simulation (#2) but it’s quite complex. Waiting for this to trickle down to undergraduate courses might take 20 years. So, should you try to introduce differential forms in a calculus course (#1)? There must be a way…

These have always had a discrete part integrated:

Second, I would like to see much less emphasis on closed-form formulas.

Once again, data comes in the digital format. Since there is no formula that produces this data, one has to deal with it as just function. So, surprisingly, taking the applied approach means more abstraction not less: more y = f(x) than y = x2.

The good news is that one can drop a lot of

  • information about specific functions (polynomials, exponential, logarithm, etc),
  • trigonometry (if I see secant one more time!),
  • algebraic tricks for solving equations, simplification, etc,
  • integration techniques:
    • integration by substitution is important for a good reason, it’s about change of variables, but
    • figuring out what technique to use to evaluate a particular integral is hardly important.

Enough for one time. As things develop, more will appear here.

October 10, 2010

Another paper that uses our software

Filed under: image processing/image analysis software — Peter Saveliev @ 10:59 am

The paper is Preclinical evaluation of nuclear morphometry and tissue topology for breast carcinoma detection and margin assessment by Ndeke Nyirenda, Daniel L. Farkas, and V. Krishnan Ramanujan in Breast Cancer Research and Treatment, February 2010 .

From the paper:
“Prevention and early detection of breast cancer are the major prophylactic measures taken to reduce the breast cancer related mortality and morbidity. Clinical management of breast cancer largely relies on the efficacy of the breast-conserving surgeries and the subsequent radiation therapy. A key problem that limits the success of these surgeries is the lack of accurate, real-time knowledge about the positive tumor margins in the surgically excised tumors in the operating room.”

ImageJ and CellAnalyst are used.


October 4, 2010

Measuring metal particles: an image analysis example

Filed under: image processing/image analysis software — Peter Saveliev @ 11:02 am

Q: The image is “taken with a digital microscope of metal particles.

  • 1-Want to find the number of particles by various size limits
  • 2-Identify the location and size of given particles
  • 3-In this sample, I was not able to get the background noise suppressed in the areas without particles.

I analyzed it and the results seem OK (consider some issues though). The results are displayed.

Since the images are fairly small you don’t have to shrink them. Just set the factor at 1. I set it at 2 to speed things up. The image are also virtually gray scale, so all color channels are the same and there is no need to choose one. (More on these issues: Image scaling and RGB channels.)

The column that follows the location contains the sizes (areas) of the particles. If you push “Save table” an Excel report is created. You can then use Excel’s capabilities to create the histogram of the sizes of the particles, like the ones presented here: Report generation and here: Image statistics.

Even without the background noise suppressed in the areas without particles, it seems to have worked out fine.