a little bit of everything

Month: March 2021

My role models

I believe in equality, I believe everyone brings something to the table and that working together we can do much more. More and more people agree, but for my voice, and women’s voice to be listened to, so that we are all treated equal, many have fought difficult battles.

Many women fought so that I could have a better future as a woman.

As I grew up, I have surrounded myself with more and more women who have studied and work hard, really hard and are an inspiration for me. My best mentors have been my supervisors, my professors, in different parts of the world, and I want to talk to you about them today.

Carolina Wählby
PhD supervisor
Sweden
Marcela Hernandez
Master supervisor
Colombia
Claudia Jimenez
Professor in Big Data and Data Mining, Colombia

arolina Wählby is my PhD supervisor in Uppsala University and she has been the most amazing guide and tutor I have met. She has devoted her precious time to guide me and many more in the past and currently to become integral and honest researchers and she’s in the forefront of life sciences, she is helping the world understand the mechanisms of disease right in the RNA the smallest unit of us. She has the most impressive curriculum! She’s a member of the Royal Academy of Sciences in Sweden, and is a professor of many courses, has been awarded numerous grants and has seen many a PhD student start and then spread their wings and fly. She’s a member of so many comittees and groups that take important decisions. I can’t possibly name them all, that is why she has her own website and media. Not only Carolina works super hard in academia, she a wife and a mother of 3 and a scout mom. I honestly do not know how she manages. She’s my hero.

arcela Hernadez is my master supervisor. She gave me the chance to go to France and study in Lyon, where she herself did her master and went through very tough times. She’s a professor in image analysis in Andes University in Colombia and she’s a leader not only in computer science but also a champion of equal opportunities. Thanks to her I was able to fulfill my dreams and she keeps working and has worked very hard so that other women and other students also have better opportunities. She’s a marvelous example of work/life balance and I think I could never do what she does, and in Colombia on top of all, where there is a really long way to go to improve women’s inclusion in all fields and decisions.

laudia Jimenez is a professor in Big Data and is the coordinator of the Master of Information Engineering (MINE in spanish) in Andes University in Colombia. She was also a huge inspiration for me and I learned so much in her course that it made me really excited (I love to learn). In her course I really learned more deeply, formal methods for data analysis and for creating systems that can handle Big Data. During one lecture she said: “Those courses of Stanford and all U.S universities have nothing on us” and chuckled. But you know what? She was right. We’re always looked down upon, we’re the little guy, we’re women working in engineering in a country that loves to push women down to the middle ages. And yet she built herself a full master program in a prestigious university to give me and other women the opportunity to learn the bleeding edge technology that allows the internet to understand data. She included me in several interesting projects during my master and for that I am very grateful.

Sometimes I think I didn’t have enough mentors when I was young and I become sad. But later in life I managed to surround myself with great women, professors and classmates and all of them are all over the world participating in great things! and I want to mention them here.

I love you all, professors, sisters, mothers, friends. Even if some might not remember me, I remember them and what they taught me.

Nataša Sladoje
Professor in Image Analysis,
Uppsala University
Ingela Nyström
Professor in visualization and image analysis in medicine
Uppsala University
Gunilla Borgefors
Professor Emeritus, Digital geoemtry and image analysis
Jenny Marcela Sanchez Torres
Professor in systems theory,
Universidad Nacional de Colombia
Saida Bouakaz
Professor in image analysis,
Université Claude Bernard de Lyon 1
Ida-Maria Sintorn
Senior lecturer in image analysis Uppsala University
All my colleagues of the computer science master in Colombia. They are now working all over the world in fantastic projects. Not only working but also being cool and creative and simply awesome.

There are so many important women in my life, my friends, my family and people I admire. From many universities, many countries, of all sizes and races and ages and all such a beautiful diverse group. I feel so happy to have met you all and I feel all your support, and I want you to know that you have my support.

And perhaps above all others, the woman who changed my life completely and who I love unconditionally and who loves me, my aunt Esperanza, who has taught me the beauties and wonders of the world before I went on my own to explore them.

Christmas 2010, Seattle, WA

Recreate your city in 3D with Blender

In one of my personal projects I wanted to see Uppsala, the city I live in, in 3D. Those who know me know I am a Blenderhead, a Blender die hard fan for reasons I will discuss at some time. But now, how can yo do it by yourself with your own city?

Warning, I actually had to remodel the Cathedral

This was really hard to find, specially open, but I love open stuff and there is OpenStreetmap where you can export an OSM (openstreetmap) file which is some sort of XML file with a lot of information, including where trees and buildings are.

To export a place go to OpenStreetMap and explore, then click export and you will get the longitude and latitude borders of your area. If the area is to big you will have a very big file! obviously! so be careful.

After you get your OSM file you need to convert it to something to open on Blender.

Some german hero created a software called osm2world that can convert OSM to OBJ which is a format that Blender can open. I found it a tad difficult to use but it’s amazing that it has java executables for any operative system, mine is Linux (obviously).

I run it in a console using

java -Xmx2G -jar OSM2World.jar -i input.osm -o output.obj

And it’s as easy as that now you have an OBJ that you can open in Blender like this:

But of course it is not all puppies and rainbows, buildings might not be perfectly modeled and color can be lost, and there is a clutter of things that I didn’t want to see, I don’t care about little benches or traffic lights and many more things that were not correctly placed, not correctly modeled and don’t really add much since I won’t be visiting with that level of detail. I just wanted a panoramic view.

So how do you get rid of all these things? depending on how big of an area you exported, you might get different amount of things, maybe you don’t need to clean. But I did and I will show you how and if you want to do it too, I will give you my code.

What is OBJ

Wavefront .OBJ is a way to save meshes (vertices, edges, faces and color) in plain text, you can open it in a text editor and see what is inside. You can group vertices and edges and name these groups as something recognizable, that you could delete. But given the organization of the file you can’t just delete the text you have to rearrange all the vertices and edges and faces which was an absolute nightmare for me.

Wonderful people who believe in open source create software every now and then that can do things like this, but sometimes they are overkill for a small task, sometimes they don’t work as you intended and I am all up for programming my own things, be them complex or simple. So I made a script that finds all objects, removes all the undesired objects by name and then rearranges all the vertices again and produces a clean OBJ to import in Blender. Mind you, it’s not perfect and could be better but it worked for my purposes so that’s the end of it. You can find the code here.

So now can I see my city please? Yes sure, here it is, ugly buildings and all.

This is NOT what the Uppsala Cathedral looks like

Playing with Blender and architecture

I will not be teaching you Blender here but if you invite me a coffee I might tell you about it. How ever if you are not seeing all your city it might be that you need to expand your view in Blender if the city is too big you can do this in a menu that appears pressing N or by dragging a little cross in the upper right side of the viewport, here you can select to clip the view at a larger distance.

So to model the cathedral (which was a hard task) I wanted to find real blueprints of the building and it was tough because I had to do ti in swedish (which I do not yet master) but a friend helped me by giving me some tips. She works in digital humanities so she knows her stuff.

She told me to search in ALVIN which is a platform for digital collections and digitized cultural heritage. I searched in Alvin and in google for the words

Uppsala domkyrka, domkyrkoarkitekt, ritning, planritning

And eventually found some good examples:

References for modelling the Domkyrka

So my recommendation becomes to know where to search for blueprints and historical archives and speak the language of where you are searching history from.

Anyways, I played with the depth of field with the f-stop the focal length and placing the camera around and with a simple white material on everything I made these two things.

Registration of WSI and TMA

Our paper was accepted at IEEE journal of Biomedical Health and Informatics. I personally learned a lot and while the reviews were tough they were much appreciated.

With people focusing so much on learning methods and forgetting the classical methods which are really the base for knowledge, I’d like to talk a little bit about the paper and the one of a kind registration method developed in the MIDA group in Sweden.

Basics

If you don’t want to read the basics skip to next section

Images of a single sample can be taken in different modalities, or the same modality but at different times and conditions. Multiple views of a sample can contribute to additional information and they need to be brought to the same spatial frame of reference. The process of aligning images is called image registration.

The transformation can have various degrees of freedom. The simplest one is called rigid, when it only requires translation, rotation and isotropic scaling (same scaling in all dimensions), such transformations preserve distances within the image and preserve parallel lines. When more distortion is required such as shear, the transformation is called affine, it preserves parallel lines but does not necessarily preserve distances. When the deformation goes in different directions and magnitudes along the image the transformation is called deformable/elastic/non-rigid.

Image registration is expressed an optimization problem that is solved by iteratively searching for the parameters of a transformation that transforms an image (moving) into the reference space of image (fixed). The best alignment is decided based on a distance measure between the reference image and the moving image. Registration can then be defined as:

Image registration can be feature based or intensity based. Feature based means that several matching points have to be found in the images and then a transformation that is able to minimize the distance between these points. Intensity based methods use the pixel intensities to guide the registration. There are a few kinds that include both features and intensities, such as Alpha AMD which is used in our paper to find affine transformations between cores in a TMA.

Types of transformations

Different kinds of transformations.
Do not use figure without my permission

In order to find the co-expression between two proteins coming from two different consecutives slides I had to register the cores. To do this I used Alpha AMD which is able to use both intensity and spatial information to find the best possible affine transformation between the cores.

Why not deformable you ask? well deformable has a considerable higher number of parameters, it has less control and since the two slides are actually two different pieces of tissue they should not necessarily match perfectly or we would face the same problem as 3D tissue reconstruction, the bananna effect. Additionally, affine has the benefit of overlooking big folds or rips.

How does Alpha AMD work?

If you don’t care about the explanation and want to see the parameters for aligning tissue skip to the next section.

Alpha AMD quantizes the image and gradually aligns the cumulative sum of each level, this is on of the nifty tricks to combine spatial and intensity information in one go. It also does this in levels, in a pyramidal scheme.

Let’s see a toy example to understand how it works and what parameters to choose.

Imagine we have these two images to register. Notice that they are grayscale and have a gradient.

The levels in these gradients can be quantized in as many levels as we want, let’s see how 5 of them look in this gif showing the histogram of intensities.

Pixel intensities seen as a heightmap. Quantized level, histogram section in level.

Then using different levels in a resolution pyramid and each the cumulative sum of each quantization level we are basically using all the following information:

Parameters for aligning tissue

Since I had images coming from different slides, I used the unmixed H stains and DAB stains to convert the core to a grayscale version that did not have differences in intensities and just shows me if a pixel has tissue or not.

Then taking those grayscale representations of the core I use Alpha AMD to find the affine matrix that I can use to align the DAB images and like that find the coexpression. The video abstract in the explains further.

To get the results depicted below my parameters for Alpha AMD are:

alpha_levels=7
plevels=[128,64,32,16,8,4]
sigmas=[60,30,15.0,8.0,4.0,2.0]
symmetric_measure = False
squared_measure = False
param_iterations = 200
param_sampling_fraction = 0.4

My images are around 10,000 x 10,000 pixels wide

Unmixing then using H to find the transformation T
Final overlapping DAB for each protein

Want to know more? contact me or invite me to coffee.

Powered by WordPress & Theme by Anders Norén