Canny Edge Detector

Welcome to the last section of the first chapter on the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi.

In this post we will deal with the Canny edge detector. It is a more complex edge detector that Roberts or Sobel. Continue reading “Canny Edge Detector”

Edge Detection

In this post we will experiment with edge detection techniques using the Roberts and Sobel edge detection algorithms.

The motivation for this post came from the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi. She uses the Jupyter notebook for the exercises. In this post I am using VSCode with GitHub Copilot. I would like to disclose that I am a Microsoft employee and have been using VSCode for many years. Continue reading “Edge Detection”

Convex Hull

In this post we will learn a few things about a convex hull.

Before we get into the main subject I would like to chat for a few on a different subject. Currently I continue to read Natural Language Processing by Ekaterina Kockmar. Earlier this morning I was reading the section 3.2.2 Matching forms of the same word: Morphological processing. In the current chapter we are trying to develop an information retrieval system. In a nutshell we have a set of documents of interest and a set of queries. The idea is that given a query we want to return relevant documents in descending order. Sounds very much like what Google search does. Of course the objectives are not to write something to compete with searches on web browsers, but to give us an idea of the general steps needed to perform such a task.

In particular I was reading about Stemming. The idea is that when you have words in a query and wish to map them to words on a document, the forms of a word may be different. A simple word match would not work (e.g., continue and continuation) because for a computer the words are different. If we implement an algorithm using stemming we will be able to match the words.

As I was reading the section an old Spanish saying ( “The devil knows more through being old than through being a  devil.” If you stop for a few and think about the Spanish saying you should reach the conclusion that it is wrong. In general if you do not reflect on what happened, the good and bad decisions you made, you will not learn and therefore you will not become wiser. For the Spanish saying to be true one must assume that the devil reflects on past events. Since the devil is a personification of evil and not a being like us, the saying is just a saying. Continue reading “Convex Hull”


In this post we will experiment with drawing contours on shapes. This post is based on the PluralSight course by Janani Ravi.

We will use The Marching Squares algorithm to draw contours. The algorithm is easy-to-implement, is an embarrassingly parallel algorithm that generates contours for a two-dimensional (rectangular) array. Continue reading “Contours”

Block Views and Pooling Operations

In this post we will continue reading and experimenting with the contents of the PluralSight course “Building Image Processing Applications Using scikit-image” by Janani Ravi.

Please note that the course uses the Jupyter notebook to hold the code and results. In this post we will write modified code using the VSCode IDE and a Python script using GitHub Copilot. I would like to disclose that I am a Microsoft employee and have been using VSCode and Python for several years. Continue reading “Block Views and Pooling Operations”

Working with Images Using NumPy

I finished reading “Measure What Matters: How Google, Bono, and the Gates Foundation Rock the World with OKRs” by John Doerr. The book describes a process based on something called OKR. KPIs are in some cases confused with OKRs. OKRs are like KPIs on steroids.

In a nutshell, one specifies an objective / goal and then defines a set of OKRs which need to be completed to achieve the objective. The process has been used by many successful companies and organizations worldwide.

The book is easy and interesting to read. I already created two objectives and a set of OKRs for each. Will let you know in about three months how my OKRs worked. Continue reading “Working with Images Using NumPy”

OKRs for Personal Goals

I continue to read two or more chapters per day from “Measure What Matters” by John Doerr. I wish I could have enough time per day.

The book is oriented to achieving business goals using something called OKRs. They are something like KPIs but the difference is in how they are generated, published, maintained, and evaluated. Continue reading “OKRs for Personal Goals”

Fibonacci Revisited using GitHub Copilot

It is Saturday morning in the Twin CIties of Minneapolis and St. Paul. The forecast calls for a rainy weekend. My wife and I were hosting two of her brothers and spouses for lunch, but one of the couples, due to health issues, decided to cancel. My wife and I like to cook and have made food for more than three couples. We should have leftovers for a day or two.

Last week we were out of town in Houston, Texas visiting family. We had to run a family errand. We took care of it. My wife has many relatives that live in that area. It was fun visiting them, walking by lakes, parks, and having very good food in so many local restaurants. We included a Texas style BBQ hole in the wall. Probably the best brisket and beef ribs that I ever had. Continue reading “Fibonacci Revisited using GitHub Copilot”

Measure What Matters by John Doerr

Good day! Hope you are doing well. This post does not cover a technical subject. If you follow my blog, you might have noticed that about one out of five books I purchase and read are not technical. I believe that success is based on both technical expertise and proper management.

A few decades ago I developed the software methodology which I named Cyclic Development Process (CDP for short). I applied it and tweaked it in order to simplify the development of custom and product systems. It worked very well for me. Continue reading “Measure What Matters by John Doerr”

Spam Filter

In this post we will implement a spam filter. My motivation is dual. On one hand I am reading and experimenting with the book Natural Language Processing by Ekaterina Kockmar published by Manning. On the other hand, I am experimenting with VSCode IDE using GitHub Copilot. If interested I would suggest following the book. I purchased a copy via Amazon Prime.

I have to disclose that at this time I am a Microsoft employee and have been using Visual Studio and VSCode for many years. Continue reading “Spam Filter”