{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Aligning two images\n", "\n", "In the previous chapter we developed an [algorithm](https://en.wikipedia.org/wiki/Algorithm) for [computing the distance between colors](https://en.wikipedia.org/wiki/Color_difference), and used this to apply a threshold to our image, thereby developing a \"mask\" of water on the surface of the Earth. But what if we wanted to compare our mask to another image, for example, to a mask someone else developed? In such a case we would need to ensure that our two images overlapped appropriately. Lets try and accomplish that in this lesson, using a very simple example of an [affine transform](https://en.wikipedia.org/wiki/Affine_transformation).\n", "\n", "We'll begin by replicating the mask you made in the previous lesson. Either try and recall the value you used previously, or interact with the image in order to develop a new one.\n", "\n", "**NOTE: the mask you make here (using the specified threshold) will be used in subsequent sections. If the mask is not set well here, you won't get good results later.**\n", "\n", "**ALSO IMPORTANT: once the mask is to your liking DO NOT run the cell again (as this will reset the threshold)**" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "e0595710e6f946e5acab31a9cf216322", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(FloatSlider(value=20.0, continuous_update=False, description='cutVal', max=441.672955930…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#lets begin by setting up paths and files\n", "\n", "#this code ensures that we can navigate the WiMSE repo across multiple systems\n", "import subprocess\n", "import os\n", "import numpy as np\n", "from matplotlib.pyplot import imshow\n", "import matplotlib.pyplot as plt\n", "\n", "#get top directory path of the current git repository, under the presumption that \n", "#the notebook was launched from within the repo directory\n", "gitRepoPath=subprocess.check_output(['git', 'rev-parse', '--show-toplevel']).decode('ascii').strip()\n", "\n", "#move to the top of the directory\n", "os.chdir(gitRepoPath)\n", "\n", "#file name of standard map of the world\n", "firstMapName='Earthmap1000x500.jpg'\n", "\n", "#file name of grayscale map of the world\n", "grayscaleMapName='World_map_blank_without_borders.svg.png'\n", "\n", "#import PIL package\n", "import PIL\n", "from PIL import Image\n", "\n", "#establish paths to first image\n", "firstMapPath=os.path.join(gitRepoPath,'images',firstMapName) \n", "firstMap= Image.open(firstMapPath)\n", "#set first image data as array\n", "firstMapArray=np.asarray(firstMap)\n", "#get the shape\n", "firstMapShape=firstMapArray.shape\n", "\n", "#NOW EXTRACT PARTICULAR COLOR INFORMATION\n", "\n", "#get the atlanticPixel color\n", "atlanticColor=firstMapArray[450,400]\n", "\n", "#make the initial difference computation\n", "zeroBlueMask=np.subtract(firstMapArray,atlanticColor)\n", "\n", "#COMPUTE THE COLOR DISTANCE\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "#quick and dirty general use hypotenuse algorithm, can be used for 2d or 3D\n", "def multiDHypot(coords1,coords2):\n", " dimDisplace=np.subtract(coords1,coords2)\n", " elementNum=dimDisplace.size\n", " elementSquare=np.square(dimDisplace)\n", " elementSquareSum=np.sum(elementSquare)\n", " if elementNum==1:\n", " hypotLeng=dimDisplace\n", " elif elementNum==2:\n", " hypotLeng=np.sqrt(elementSquareSum)\n", " elif elementNum==3:\n", " hypotLeng=np.sqrt(elementSquareSum)\n", " return hypotLeng\n", "\n", "#initialize distance storage structure\n", "colorDistMeasures=np.zeros(([firstMapShape[0],firstMapShape[1]]))\n", "\n", "#iteratively apply the distance computation\n", "for iRows in range(firstMapShape[0]):\n", " for iColumns in range(firstMapShape[1]):\n", " #extract the current pixel\n", " curPixelVal=zeroBlueMask[iRows,iColumns]\n", " \n", " #compute the color distance for this pixel, and store it in the corresponding spot\n", " #in colorDistMeasures, use this if your input above was firstMapArray\n", " #Sidenote: This may require additional code modifications\n", " #colorDistMeasures[iRows,iColumns]=multiDHypot(curPixelVal,atlanticColor)\n", " \n", " #compute the color distance for this pixel, and store it in the corresponding spot\n", " #in colorDistMeasures, use this if your input above was zeroBlueMask\n", " #we use [0 0 0 ] as our input because zeroBlueMask has already had the atlantic blue\n", " #subtracted from it\n", " colorDistMeasures[iRows,iColumns]=multiDHypot(curPixelVal,[0, 0, 0])\n", "\n", "#data structure formatting for plotting\n", "flattenedDistances=np.ndarray.flatten(colorDistMeasures)\n", "\n", "#CREATE THE MASK\n", "from ipywidgets import interact, interactive, fixed, interact_manual\n", "from ipywidgets import IntSlider\n", "from ipywidgets import FloatSlider\n", "\n", "#function for modifying the plot via the input cutVal\n", "def updatePlots(DistanceArray,cutVal):\n", "\n", " #modify input data structure\n", " flattenedDistances=np.ndarray.flatten(DistanceArray)\n", " \n", " #set plot features for histogram with cutVal line\n", " plt.subplot(3, 1, 1)\n", " plt.hist(flattenedDistances, bins=100)\n", " plt.xlabel('Distance from ocean color')\n", " plt.ylabel('Number of pixels')\n", " plt.title('Distribution of RGB color distance from Atlantic pixel color')\n", " xposition = [cutVal]\n", " for xc in xposition:\n", " plt.axvline(x=xc, color='r', linestyle='--', linewidth=3)\n", " fig = plt.gcf()\n", " fig.set_size_inches(20, 10)\n", " \n", " #compute binarized mask for values below cutVal\n", " naiveOceanMask=DistanceArray" ] }, "metadata": { "filenames": { "image/png": "/Users/plab/Documents/ipynb/_build/jupyter_execute/notebooks/Aligning_two_images_3_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#file pathing and image information\n", "grayscaleMapPath=os.path.join(gitRepoPath,'images',grayscaleMapName) \n", "grayscaleMap= Image.open(grayscaleMapPath)\n", "print(grayscaleMap.format,grayscaleMap.size , grayscaleMap.mode)\n", "print('')\n", "\n", "grayscaleMapDim=grayscaleMap.size\n", "\n", "#quick computation to obtain native aspect ratio approximation relative to preceding image's 2:1\n", "grayscaleMapApsectRatio=grayscaleMapDim[0]/grayscaleMapDim[1]\n", "print('Ratio of width to height (aspect ratio)')\n", "print(grayscaleMapApsectRatio)\n", "print('')\n", "\n", "#in order to display in jupyter, some trickery is necessary\n", "%matplotlib inline\n", "imshow(np.asarray(grayscaleMap))\n", "fig = plt.gcf()\n", "fig.set_size_inches(15, grayscaleMapApsectRatio*15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above output plot we can note that it's simply a binary grayscale output, with white indicating water and grey indicating land. Although the data is stored in a RGBA format (and thus leverages data across **4** different color channels) really, this same output could be accomplished using a single, 2d array as there are only two different colors being displayed. In fact, in order to compare this to the result we generated, we'll have to convert it into a binary mask (a data array that contains only 1s and 0s, indicating true and false values respectively). As such the 4 channels ultimately don't matter that much in this image.\n", "\n", "However, it also seems that the dimensions and [aspect ratio](https://en.wikipedia.org/wiki/Aspect_ratio_(image)) of this image are different than the first image. Although this is still a map depicting the world, we can now notice that the axes are about 4 times larger than the previous image. This means that each pixel of this map is representing about 1/16th as much surface area as the previous image. Even if we were to simply shrink the image, we would still have a problem overlaying it with the first image due to the discrepancy in aspect ratio. As such, if we are to successfully overlay the images on to one another in order to compare them, we will have to [resize](https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.resize) the figure so that it is of the same dimensions and aspect ratio as our generated mask.\n", "\n", "Let's do that now." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/plab/Documents/ipynb/_build/jupyter_execute/notebooks/Aligning_two_images_5_0.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#resize the image\n", "grayscaleResized=grayscaleMap.resize([firstMapShape[1],firstMapShape[0]], resample=0)\n", "\n", "#do the plotting\n", "%matplotlib inline\n", "grayscaleResizedData=np.asarray(grayscaleResized)\n", "imshow(np.asarray(grayscaleResizedData))\n", "fig = plt.gcf()\n", "fig.set_size_inches(15, 30)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the axes are now the same as the previous satellite image. Now that we have it resized, lets convert it to a 2-D mask like we did previously. This time though, we don't need to apply a specific threshold because there are only really two values in the image: gray and white. \n", "\n", "Let's plot this output in the same fashion we did the mask we obtained from the satellite." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/plab/Documents/ipynb/_build/jupyter_execute/notebooks/Aligning_two_images_7_0.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#create binarized, a simple sum will give us the output we seek,\n", "# as there are only two distinct color values in the plot\n", "flatBinarized=np.sum(np.asarray(grayscaleResizedData),axis=2)\n", "\n", "imshow(np.logical_not(flatBinarized))\n", "fig = plt.gcf()\n", "fig.set_size_inches(15, 30)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting the masks overlain\n", "\n", "Now lets plot our two masks (user generated version and provided version) together in the plot. Here we'll change the colors that we are using. Red (i.e. \"problem\") pixels will indicate that there is a disagreement between the two masks. This will occur when one says that the pixel is water while the other says that it is land. Yellow pixels (i.e. \"OK\") will indicate pixels in which the two masks agree with one another, in that they both either indicate \"land\" or \"water\" \n", "\n", "Let's take a look at that now\n", "\n", "#### What sorts of trends or regularities do you notice in the disagreement between the two maps?" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/plab/Documents/ipynb/_build/jupyter_execute/notebooks/Aligning_two_images_9_0.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#apply the mask\n", "naiveOceanMask=colorDistMeasures>cutVal.value\n", "#create binary mask for new file\n", "obtainedOceanMask=flatBinarized==0\n", "#find the differences between the two \n", "discrepancyMapping=(np.logical_xor(obtainedOceanMask,naiveOceanMask))\n", "\n", "#do the plotting\n", "imshow(discrepancyMapping, cmap='autumn')\n", "fig = plt.gcf()\n", "fig.set_size_inches(15, 30)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### What's with this pattern we are observing above? How would you explain this apparent \"shadowing\" issue?\n", "\n", "It appears that the two images are not aligned properly. Although their resolutions are the same (500 x 1000), this does not appear to be sufficient to guarantee that they are showing the same exact areas in the same exact pixels. Given that the world is a [spheroid](https://en.wikipedia.org/wiki/Spheroid) we could imagine that this is because the [\"unfolded\" map](https://en.wikipedia.org/wiki/Cylindrical_equal-area_projection) is rotated to the left or right a bit, or maybe shifted up or down. One way to think about this is that the [0,0 point](https://en.wikipedia.org/wiki/Null_Island) of the two maps, corresponding to the intersection of the [equator](https://en.wikipedia.org/wiki/Equator) and the [prime meridian](https://en.wikipedia.org/wiki/Prime_meridian), are not aligned. Let's move these maps around and see if we can adjust them into alignment by moving one of the two images. \n", "\n", "Your goal in the next interactive section will be to maximize the amount of yellow (agreement) being shown in the image below. You should attempt to maximize the amount of the pie chart indicating agreement, and minimize the amount of the pie chart indicating disagreement.\n", "\n", "#### What are the x and y shifts necessary to achieve alignment?\n", "\n", "The xOffset slider will move the mask that you generated earlier left or right (on top of the land mask that was provided), the yOffset will move your mask up or down. \n", "\n", "Remember: There are multiple ways to manipulate the slider. You can use your mouse directly, you can use the arrow keys of your keyboard, or you can enter a number directly." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4c7265e490654ceab5f18073a895d70e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntSlider(value=0, continuous_update=False, description='xOffset', max=30, min=-30), Int…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ipywidgets import interact, interactive, fixed, interact_manual\n", "from ipywidgets import IntSlider\n", "\n", "#make the plot\n", "def plot_mapDiscrepancy(map1,map2): \n", " discrepancyMapping=np.logical_xor(map1,map2)\n", " %matplotlib inline\n", " imshow(discrepancyMapping,cmap='autumn')\n", " fig = plt.gcf()\n", " fig.set_size_inches(15, 30)\n", " \n", " # Pie chart, where the slices will be ordered and plotted counter-clockwise:\n", " labels = 'Agree', 'Disagree'\n", " sizes = [np.sum(discrepancyMapping==1),np.sum(discrepancyMapping==0)]\n", "\n", " fig1, ax1 = plt.subplots()\n", " ax1.pie(sizes, labels=labels, autopct='%1.3f%%',\n", " shadow=True, startangle=90)\n", " ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.\n", " plt.show()\n", " \n", "#update the plot via input values \n", "def update(xOffset, yOffset):\n", " naiveOceanMaskMoved = np.roll(naiveOceanMask,yOffset,0)\n", " naiveOceanMaskMoved = np.roll(naiveOceanMaskMoved,xOffset,1)\n", " plot_mapDiscrepancy(obtainedOceanMask,naiveOceanMaskMoved)\n", "\n", "#establish interactivity\n", "interact(update, xOffset=IntSlider(min=-30, max=30, step=1,continuous_update=False), yOffset=IntSlider(min=-30, max=30, step=1,continuous_update=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It seems that the lowest mismatch percentage you can get is around 17%, which occurs at -28 x offset and -9 y offset. What accounts for the remaining mismatch? Part of it likely has to do with how our mask was made (and the threshold value we chose), and that it likely wasn't entirely perfect.\n", "\n", "One major source of discrepancy is the fact that sea ice is not the color of water, but is not included in the purpose-made land mask we obtained either. Hence our algorithm considers it \"land\" (because it is not the color of water), even though the gray colored mask (the provided mask) is specific to land (which ice does not count as).\n", "\n", "Finally, one final source is likely that the two maps, even if they were to have their equator and prime meridian lined up, may not be [warped](https://en.wikipedia.org/wiki/Map_projection) (reshaped from a surface that covers a sphere) in exactly the same way. Theoretically we could attempt to apply a **nonlinear warp**--see [Ashburn and Friston, 1999](https://doi.org/10.1002/(SICI)1097-0193(1999)7:4%3C254::AID-HBM4%3E3.0.CO;2-G) or [Toga, 1999](https://doi.org/10.1016/B978-0-12-692535-7.X5074-5) for more--to try and align the two images, but this would be beyond the scope of this introduction to digital image representations and masks." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### How this relates to neuroimaging\n", "\n", "In the next lesson we will see a more complex version of a mask, one which is not binary, but instead features multiple different categories. That is, instead of just trying to label one thing (i.e. \"water\" vs \"not water\") we will try and use the same general approach to label multiple things. This capability is something that is used in neuroimaging quite frequently. For example, we often wish to label particular parts of a neuroimaging scan as being some specific part of the brain (e.g. \"frontal lobe\", \"angular gyrus\", or \"thalamus\" etc.). We'll explore this possibility in 2-D with another map in the next lesson. In later lessons we'll explicitly look at these \"multi category masks\" (i.e. **parcellations**) in brains ([Eickhoff, S.B., Yeo, B.T.T. & Genon, S, 2018](https://doi.org/10.1038/s41583-018-0071-7))." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.5" } }, "nbformat": 4, "nbformat_minor": 1 }