In Memoriam

Photo of JohnJohn Charles Canessa passed away on September 30, 2023, at the age of 70. He was a loving husband, father, grandfather, and brother who enjoyed fast cars, big ideas, and good food.  John spent his life learning everything he could, helping everyone he met, loving his family and friends, and experiencing all that life had to offer.

John was a visionary who always dreamed of making the world a better place through technology. He was passionate about software engineering and invented many technologies we all take for granted today.  He also ran a well-regarded blog where he shared his insights and opinions, with a focus on helping others learn about crafting software.  John loved to travel and explore new cultures and cuisines. He was an avid reader of all things non-fiction and was always reading (and writing in) at least one book. He had a great sense of humor and was generous to a fault.

John is preceded in death by his parents, Giuseppe and Graciela Canessa and his sister Teresa. He is survived by his wife of 47 years, Carmen; his sons, Giancarlo and Gino; his granddaughters, Gabrielle and Natalie; his grandsons, Marco, Leo, Gianni, and Enzo; his sisters, Cecilia and Dora; many extended family and friends; and the stories, software, and recipes he created and shared.  A celebration of life will be held at Mendakota Country Club on November 5, 2023, from 3-6 pm. 

In lieu of any gifts, please consider donating to Mayo Clinic Cancer Research or another cancer research or support organization. 

Transformations

The Twin Cities of Minneapolis and St. Paul is at a latitude of almost 45 degrees north. Towards the summer solstice which is in a week or so, the daylight lasts about 15.5 hours. The beauty in summer is that after work, you still have about 4 to 5 hours to enjoy the outdoors. In winter it is quite the opposite. I guess, there is no perfect place on earth.

At home, one of the gutters has a section that brings the rain water down. The section forms some type of a lazy step. My wife and I noticed a few days ago that a couple of birds decided to build their nest on the lazy step. Continue reading “Transformations”

Watershed

In this post we continue exploring and experimenting with topics from the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi. The topic for this post is Watershed.

In image processing, a watershed (image processing) is a transformation defined on a grayscale image. The name refers metaphorically to a geological watershed, or drainage divide, which separates adjacent drainage basins. The watershed transformation treats the image it operates upon like a topographic map, with the brightness of each point representing its height, and finds the lines that run along the tops of ridges. These lines are then used to segment the image into regions. Continue reading “Watershed”

RAG Thresholding

This morning I read some news from different sources. I am amazed how facts are edited to provide some information but with a lot of bias in favor of the group reporting.

The first one was regarding how 50% of animal species have been decimated. The actual news mentioned that about 50% of species in the world are in decline. Yet some 3% are flourishing. 

On a different set of news, wildfires are out of control in Canada. The effects on the weather in different states in the USA is being felt including in Minnesota. For the past week or so we have had high values in the air quality which indicate many pollutants coming from the fires in Canada. The news stated that this is all due to global warming. Continue reading “RAG Thresholding”

Thresholding

In this post we will experiment applying global (histogram based) and local (considering values of neighboring pixels) thresholding to images.

This post is based on the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi. She uses the Jupyter notebook for the exercises. I decided to use the VSCode IDE to experiment with GitHub Copilot. At this point in time such a feature does not seem to be available.

I would like to disclose that I am a Microsoft employee and have been using VSCode and Visual Studio IDEs for many years. Like to follow the KISS principle (https://en.wikipedia.org/wiki/KISS_principle) and when needed, challenge common assumptions that do not make sense to me i.e., this is how we always do it, or this is how it is done. Continue reading “Thresholding”

Erosion Dilation to Fill Holes and Find Peaks

In this post we will experiment with the contents of the section on Filling Holes and Finding Peaks Using Erosion and Dilation of the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi.

It seems that this as most of the other sections stand on its own. The idea is to find out that such a library exists, what it is used for, experiment with it, and if the need arises in the future, you will have a basic understanding of how to use the feature. Continue reading “Erosion Dilation to Fill Holes and Find Peaks”

Denoising

Good morning. Similar to yesterday’s weather here in the Twin CIties of Minneapolis and St. Paul, our high temperature for the day is forecasted to be 90F. We are still in spring but it is starting to feel like summer.

Yesterday my wife and I were planning to walk for about ten miles. Due to the temperature and humidity we decided to cut it short to just five. Today we are just planning on five miles.

Today we will experiment with denoising images. This post is based on the contents of a section in the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi. Continue reading “Denoising”

Corner Detection

It is a summer Saturday morning in the Twin Cities of Minneapolis and St. Paul in Minnesota. The temperature will go up to 87F. Around 10:00 AM, before it gets too hot, my wife and I will go out for a leisure walk of 10 miles. Last night I had a hard time sleeping so hopefully the mild exercise will help this evening.

In this post we continue to watch the PluralSight course Building Image Processing Applications Using scikit-image by Janani Ravi. She uses a Jupyter notebook. In this post we will use VSCode with GitHub Copilot. I should disclose that I am a Microsoft employee and have been using VSCode for a few years. When possible I like to follow the KISS principle so I prefer to use the minimum number of IDEs that support all the programming languages I wish to use. Why complicate life using as many IDEs as one can find and never become proficient on all of them. Continue reading “Corner Detection”

Histogram of Oriented Gradients

This morning on LinkedIn, NEWSLETTER, Big Technology, A newsletter about Big Tech and society, by Alex Kantrowitz I listened to the podcast Let’s Talk About Temu and Shein, The Fast-Rising, China-Based Retailers Threatening U.S. Mainstays. 

On Big Technology Podcast, Ranjan Roy and Alex Kantrowitz spoke with New York Magazine contributing editor John Herrman about Temu and Shein, the fast-rising, China-based retailers that are threatening the U.S. mainstays including H&M and Amazon.

Continue reading “Histogram of Oriented Gradients”

Daisy Descriptors

In this post I will experiment with the DAISY descriptors. Please note that one of the simplest approaches is to alter parameters in the different functions and observe the results. In addition you should look up the functions in the scikit-image to get a better understanding of the function and arguments e.g., skimage.feature.daisy.

The motivation for this post is the PluralSight course by Janani Ravi. She uses the Jupyter notebook in the course. We will use the VSCode IDE with GitHub Copilot. This helps experiment with the code. At this point I would like to disclose that I am a Microsoft employee and use the VSCode IDE with GitHub Copilot extension. Have been using VSCode for a few years. In the past few months I started using GitHub Copilot. Continue reading “Daisy Descriptors”