diff --git a/.gitignore b/.gitignore index 950b343..888038c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,5 @@ package-lock.json *.pdf *.fbx *.secret -*.ipynb +# *.ipynb /scripts/dead-link-checker diff --git a/HappyBirthdaySophie/.DS_Store b/HappyBirthdaySophie/.DS_Store deleted file mode 100644 index 732d5a9..0000000 Binary files a/HappyBirthdaySophie/.DS_Store and /dev/null differ diff --git a/HappyBirthdaySophie/.ipynb_checkpoints/compute_distance_field-checkpoint.ipynb b/HappyBirthdaySophie/.ipynb_checkpoints/compute_distance_field-checkpoint.ipynb deleted file mode 100644 index d3171db..0000000 --- a/HappyBirthdaySophie/.ipynb_checkpoints/compute_distance_field-checkpoint.ipynb +++ /dev/null @@ -1,929 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "from PIL import Image\n", - "import numpy as np\n", - "from matplotlib import pyplot as plt\n", - "im = Image.open(\"birthday.png\")" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "im" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('PNG', (500, 500), 'RGBA')" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(im.format, im.size, im.mode)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(500, 500, 4)" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.array(im).shape" - ] - }, - { - "cell_type": "code", - "execution_count": 132, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 132, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "src = np.array(im.convert('L')) > 240\n", - "plt.imshow(src)" - ] - }, - { - "cell_type": "code", - "execution_count": 138, - "metadata": {}, - "outputs": [ - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "%%time\n", - "src = np.array(im.convert('L')) > 240\n", - "dist = np.ones(shape = (500,500)) * 1000\n", - "i, j = np.array(np.where(1 - src))[:, ::1000].reshape(2, 1, 1, -1)\n", - "I = np.arange(500).reshape(-1,1,1)\n", - "J = np.arange(500).reshape(1,-1,1)\n", - "\n", - "for i,j in pixels:\n", - " d = np.sqrt((I - i)**2 + (J - j)**2)\n", - " dist = np.minimum(dist, d)" - ] - }, - { - "cell_type": "code", - "execution_count": 145, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n", - "1\n", - "2\n", - "3\n", - "4\n", - "5\n", - "6\n", - "7\n", - "8\n", - "9\n", - "CPU times: user 1min 8s, sys: 3min 11s, total: 4min 20s\n", - "Wall time: 8min 35s\n" - ] - } - ], - "source": [ - "%%time\n", - "pixels = np.array(np.where(1 - src))\n", - "I = np.arange(500).reshape(-1,1,1)\n", - "J = np.arange(500).reshape(1,-1,1)\n", - "\n", - "dist = np.ones((500,500)) * 1000\n", - "for k in range(10):\n", - " print(k)\n", - " i, j = pixels[:, k::10].reshape(2, 1, 1, -1)\n", - " dist = np.minimum(dist, np.min(np.sqrt((I - i)**2 + (J - j)**2), axis = -1))" - ] - }, - { - "cell_type": "code", - "execution_count": 129, - "metadata": {}, - "outputs": [ - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mcompute\u001b[0;34m(k)\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "%%time\n", - "pixels = np.array(np.where(1 - src))[:, :]\n", - "I = np.arange(500).reshape(-1,1,1)\n", - "J = np.arange(500).reshape(1,-1,1)\n", - "\n", - "groups = 50\n", - "\n", - "def compute(k):\n", - " i, j = pixels[:, k::groups].reshape(2, 1, 1, -1)\n", - " dist = np.min(np.sqrt((I - i)**2 + (J - j)**2), axis = -1, initial = 1000)\n", - " return dist\n", - "\n", - "dist = np.min([compute(k) for k in range(groups)], axis = 0)" - ] - }, - { - "cell_type": "code", - "execution_count": 154, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "execution_count": 154, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "quantised = 255 - (dist / np.max(dist) * 255).astype(np.uint8)\n", - "#quantised = (quantised % 2) * 255\n", - "im2 = Image.fromarray(quantised, mode = 'L')\n", - "im2 = im2.convert(\"RGBA\")\n", - "im2.save('distfield.png')\n", - "im2" - ] - }, - { - "cell_type": "code", - "execution_count": 151, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on ufunc object:\n", - "\n", - "log = class ufunc(builtins.object)\n", - " | Functions that operate element by element on whole arrays.\n", - " | \n", - " | To see the documentation for a specific ufunc, use `info`. For\n", - " | example, ``np.info(np.sin)``. Because ufuncs are written in C\n", - " | (for speed) and linked into Python with NumPy's ufunc facility,\n", - " | Python's help() function finds this page whenever help() is called\n", - " | on a ufunc.\n", - " | \n", - " | A detailed explanation of ufuncs can be found in the docs for :ref:`ufuncs`.\n", - " | \n", - " | **Calling ufuncs:** ``op(*x[, out], where=True, **kwargs)``\n", - " | \n", - " | Apply `op` to the arguments `*x` elementwise, broadcasting the arguments.\n", - " | \n", - " | The broadcasting rules are:\n", - " | \n", - " | * Dimensions of length 1 may be prepended to either array.\n", - " | * Arrays may be repeated along dimensions of length 1.\n", - " | \n", - " | Parameters\n", - " | ----------\n", - " | *x : array_like\n", - " | Input arrays.\n", - " | out : ndarray, None, or tuple of ndarray and None, optional\n", - " | Alternate array object(s) in which to put the result; if provided, it\n", - " | must have a shape that the inputs broadcast to. A tuple of arrays\n", - " | (possible only as a keyword argument) must have length equal to the\n", - " | number of outputs; use None for uninitialized outputs to be\n", - " | allocated by the ufunc.\n", - " | where : array_like, optional\n", - " | This condition is broadcast over the input. At locations where the\n", - " | condition is True, the `out` array will be set to the ufunc result.\n", - " | Elsewhere, the `out` array will retain its original value.\n", - " | Note that if an uninitialized `out` array is created via the default\n", - " | ``out=None``, locations within it where the condition is False will\n", - " | remain uninitialized.\n", - " | **kwargs\n", - " | For other keyword-only arguments, see the :ref:`ufunc docs `.\n", - " | \n", - " | Returns\n", - " | -------\n", - " | r : ndarray or tuple of ndarray\n", - " | `r` will have the shape that the arrays in `x` broadcast to; if `out` is\n", - " | provided, it will be returned. If not, `r` will be allocated and\n", - " | may contain uninitialized values. If the function has more than one\n", - " | output, then the result will be a tuple of arrays.\n", - " | \n", - " | Methods defined here:\n", - " | \n", - " | __call__(self, /, *args, **kwargs)\n", - " | Call self as a function.\n", - " | \n", - " | __repr__(self, /)\n", - " | Return repr(self).\n", - " | \n", - " | __str__(self, /)\n", - " | Return str(self).\n", - " | \n", - " | accumulate(...)\n", - " | accumulate(array, axis=0, dtype=None, out=None)\n", - " | \n", - " | Accumulate the result of applying the operator to all elements.\n", - " | \n", - " | For a one-dimensional array, accumulate produces results equivalent to::\n", - " | \n", - " | r = np.empty(len(A))\n", - " | t = op.identity # op = the ufunc being applied to A's elements\n", - " | for i in range(len(A)):\n", - " | t = op(t, A[i])\n", - " | r[i] = t\n", - " | return r\n", - " | \n", - " | For example, add.accumulate() is equivalent to np.cumsum().\n", - " | \n", - " | For a multi-dimensional array, accumulate is applied along only one\n", - " | axis (axis zero by default; see Examples below) so repeated use is\n", - " | necessary if one wants to accumulate over multiple axes.\n", - " | \n", - " | Parameters\n", - " | ----------\n", - " | array : array_like\n", - " | The array to act on.\n", - " | axis : int, optional\n", - " | The axis along which to apply the accumulation; default is zero.\n", - " | dtype : data-type code, optional\n", - " | The data-type used to represent the intermediate results. Defaults\n", - " | to the data-type of the output array if such is provided, or the\n", - " | the data-type of the input array if no output array is provided.\n", - " | out : ndarray, None, or tuple of ndarray and None, optional\n", - " | A location into which the result is stored. If not provided or None,\n", - " | a freshly-allocated array is returned. For consistency with\n", - " | ``ufunc.__call__``, if given as a keyword, this may be wrapped in a\n", - " | 1-element tuple.\n", - " | \n", - " | .. versionchanged:: 1.13.0\n", - " | Tuples are allowed for keyword argument.\n", - " | \n", - " | Returns\n", - " | -------\n", - " | r : ndarray\n", - " | The accumulated values. If `out` was supplied, `r` is a reference to\n", - " | `out`.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | 1-D array examples:\n", - " | \n", - " | >>> np.add.accumulate([2, 3, 5])\n", - " | array([ 2, 5, 10])\n", - " | >>> np.multiply.accumulate([2, 3, 5])\n", - " | array([ 2, 6, 30])\n", - " | \n", - " | 2-D array examples:\n", - " | \n", - " | >>> I = np.eye(2)\n", - " | >>> I\n", - " | array([[1., 0.],\n", - " | [0., 1.]])\n", - " | \n", - " | Accumulate along axis 0 (rows), down columns:\n", - " | \n", - " | >>> np.add.accumulate(I, 0)\n", - " | array([[1., 0.],\n", - " | [1., 1.]])\n", - " | >>> np.add.accumulate(I) # no axis specified = axis zero\n", - " | array([[1., 0.],\n", - " | [1., 1.]])\n", - " | \n", - " | Accumulate along axis 1 (columns), through rows:\n", - " | \n", - " | >>> np.add.accumulate(I, 1)\n", - " | array([[1., 1.],\n", - " | [0., 1.]])\n", - " | \n", - " | at(...)\n", - " | at(a, indices, b=None)\n", - " | \n", - " | Performs unbuffered in place operation on operand 'a' for elements\n", - " | specified by 'indices'. For addition ufunc, this method is equivalent to\n", - " | ``a[indices] += b``, except that results are accumulated for elements that\n", - " | are indexed more than once. For example, ``a[[0,0]] += 1`` will only\n", - " | increment the first element once because of buffering, whereas\n", - " | ``add.at(a, [0,0], 1)`` will increment the first element twice.\n", - " | \n", - " | .. versionadded:: 1.8.0\n", - " | \n", - " | Parameters\n", - " | ----------\n", - " | a : array_like\n", - " | The array to perform in place operation on.\n", - " | indices : array_like or tuple\n", - " | Array like index object or slice object for indexing into first\n", - " | operand. If first operand has multiple dimensions, indices can be a\n", - " | tuple of array like index objects or slice objects.\n", - " | b : array_like\n", - " | Second operand for ufuncs requiring two operands. Operand must be\n", - " | broadcastable over first operand after indexing or slicing.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | Set items 0 and 1 to their negative values:\n", - " | \n", - " | >>> a = np.array([1, 2, 3, 4])\n", - " | >>> np.negative.at(a, [0, 1])\n", - " | >>> a\n", - " | array([-1, -2, 3, 4])\n", - " | \n", - " | Increment items 0 and 1, and increment item 2 twice:\n", - " | \n", - " | >>> a = np.array([1, 2, 3, 4])\n", - " | >>> np.add.at(a, [0, 1, 2, 2], 1)\n", - " | >>> a\n", - " | array([2, 3, 5, 4])\n", - " | \n", - " | Add items 0 and 1 in first array to second array,\n", - " | and store results in first array:\n", - " | \n", - " | >>> a = np.array([1, 2, 3, 4])\n", - " | >>> b = np.array([1, 2])\n", - " | >>> np.add.at(a, [0, 1], b)\n", - " | >>> a\n", - " | array([2, 4, 3, 4])\n", - " | \n", - " | outer(...)\n", - " | outer(A, B, **kwargs)\n", - " | \n", - " | Apply the ufunc `op` to all pairs (a, b) with a in `A` and b in `B`.\n", - " | \n", - " | Let ``M = A.ndim``, ``N = B.ndim``. Then the result, `C`, of\n", - " | ``op.outer(A, B)`` is an array of dimension M + N such that:\n", - " | \n", - " | .. math:: C[i_0, ..., i_{M-1}, j_0, ..., j_{N-1}] =\n", - " | op(A[i_0, ..., i_{M-1}], B[j_0, ..., j_{N-1}])\n", - " | \n", - " | For `A` and `B` one-dimensional, this is equivalent to::\n", - " | \n", - " | r = empty(len(A),len(B))\n", - " | for i in range(len(A)):\n", - " | for j in range(len(B)):\n", - " | r[i,j] = op(A[i], B[j]) # op = ufunc in question\n", - " | \n", - " | Parameters\n", - " | ----------\n", - " | A : array_like\n", - " | First array\n", - " | B : array_like\n", - " | Second array\n", - " | kwargs : any\n", - " | Arguments to pass on to the ufunc. Typically `dtype` or `out`.\n", - " | \n", - " | Returns\n", - " | -------\n", - " | r : ndarray\n", - " | Output array\n", - " | \n", - " | See Also\n", - " | --------\n", - " | numpy.outer : A less powerful version of ``np.multiply.outer``\n", - " | that `ravel`\\ s all inputs to 1D. This exists\n", - " | primarily for compatibility with old code.\n", - " | \n", - " | tensordot : ``np.tensordot(a, b, axes=((), ()))`` and\n", - " | ``np.multiply.outer(a, b)`` behave same for all\n", - " | dimensions of a and b.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.multiply.outer([1, 2, 3], [4, 5, 6])\n", - " | array([[ 4, 5, 6],\n", - " | [ 8, 10, 12],\n", - " | [12, 15, 18]])\n", - " | \n", - " | A multi-dimensional example:\n", - " | \n", - " | >>> A = np.array([[1, 2, 3], [4, 5, 6]])\n", - " | >>> A.shape\n", - " | (2, 3)\n", - " | >>> B = np.array([[1, 2, 3, 4]])\n", - " | >>> B.shape\n", - " | (1, 4)\n", - " | >>> C = np.multiply.outer(A, B)\n", - " | >>> C.shape; C\n", - " | (2, 3, 1, 4)\n", - " | array([[[[ 1, 2, 3, 4]],\n", - " | [[ 2, 4, 6, 8]],\n", - " | [[ 3, 6, 9, 12]]],\n", - " | [[[ 4, 8, 12, 16]],\n", - " | [[ 5, 10, 15, 20]],\n", - " | [[ 6, 12, 18, 24]]]])\n", - " | \n", - " | reduce(...)\n", - " | reduce(a, axis=0, dtype=None, out=None, keepdims=False, initial=, where=True)\n", - " | \n", - " | Reduces `a`'s dimension by one, by applying ufunc along one axis.\n", - " | \n", - " | Let :math:`a.shape = (N_0, ..., N_i, ..., N_{M-1})`. Then\n", - " | :math:`ufunc.reduce(a, axis=i)[k_0, ..,k_{i-1}, k_{i+1}, .., k_{M-1}]` =\n", - " | the result of iterating `j` over :math:`range(N_i)`, cumulatively applying\n", - " | ufunc to each :math:`a[k_0, ..,k_{i-1}, j, k_{i+1}, .., k_{M-1}]`.\n", - " | For a one-dimensional array, reduce produces results equivalent to:\n", - " | ::\n", - " | \n", - " | r = op.identity # op = ufunc\n", - " | for i in range(len(A)):\n", - " | r = op(r, A[i])\n", - " | return r\n", - " | \n", - " | For example, add.reduce() is equivalent to sum().\n", - " | \n", - " | Parameters\n", - " | ----------\n", - " | a : array_like\n", - " | The array to act on.\n", - " | axis : None or int or tuple of ints, optional\n", - " | Axis or axes along which a reduction is performed.\n", - " | The default (`axis` = 0) is perform a reduction over the first\n", - " | dimension of the input array. `axis` may be negative, in\n", - " | which case it counts from the last to the first axis.\n", - " | \n", - " | .. versionadded:: 1.7.0\n", - " | \n", - " | If this is None, a reduction is performed over all the axes.\n", - " | If this is a tuple of ints, a reduction is performed on multiple\n", - " | axes, instead of a single axis or all the axes as before.\n", - " | \n", - " | For operations which are either not commutative or not associative,\n", - " | doing a reduction over multiple axes is not well-defined. The\n", - " | ufuncs do not currently raise an exception in this case, but will\n", - " | likely do so in the future.\n", - " | dtype : data-type code, optional\n", - " | The type used to represent the intermediate results. Defaults\n", - " | to the data-type of the output array if this is provided, or\n", - " | the data-type of the input array if no output array is provided.\n", - " | out : ndarray, None, or tuple of ndarray and None, optional\n", - " | A location into which the result is stored. If not provided or None,\n", - " | a freshly-allocated array is returned. For consistency with\n", - " | ``ufunc.__call__``, if given as a keyword, this may be wrapped in a\n", - " | 1-element tuple.\n", - " | \n", - " | .. versionchanged:: 1.13.0\n", - " | Tuples are allowed for keyword argument.\n", - " | keepdims : bool, optional\n", - " | If this is set to True, the axes which are reduced are left\n", - " | in the result as dimensions with size one. With this option,\n", - " | the result will broadcast correctly against the original `arr`.\n", - " | \n", - " | .. versionadded:: 1.7.0\n", - " | initial : scalar, optional\n", - " | The value with which to start the reduction.\n", - " | If the ufunc has no identity or the dtype is object, this defaults\n", - " | to None - otherwise it defaults to ufunc.identity.\n", - " | If ``None`` is given, the first element of the reduction is used,\n", - " | and an error is thrown if the reduction is empty.\n", - " | \n", - " | .. versionadded:: 1.15.0\n", - " | \n", - " | where : array_like of bool, optional\n", - " | A boolean array which is broadcasted to match the dimensions\n", - " | of `a`, and selects elements to include in the reduction. Note\n", - " | that for ufuncs like ``minimum`` that do not have an identity\n", - " | defined, one has to pass in also ``initial``.\n", - " | \n", - " | .. versionadded:: 1.17.0\n", - " | \n", - " | Returns\n", - " | -------\n", - " | r : ndarray\n", - " | The reduced array. If `out` was supplied, `r` is a reference to it.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.multiply.reduce([2,3,5])\n", - " | 30\n", - " | \n", - " | A multi-dimensional array example:\n", - " | \n", - " | >>> X = np.arange(8).reshape((2,2,2))\n", - " | >>> X\n", - " | array([[[0, 1],\n", - " | [2, 3]],\n", - " | [[4, 5],\n", - " | [6, 7]]])\n", - " | >>> np.add.reduce(X, 0)\n", - " | array([[ 4, 6],\n", - " | [ 8, 10]])\n", - " | >>> np.add.reduce(X) # confirm: default axis value is 0\n", - " | array([[ 4, 6],\n", - " | [ 8, 10]])\n", - " | >>> np.add.reduce(X, 1)\n", - " | array([[ 2, 4],\n", - " | [10, 12]])\n", - " | >>> np.add.reduce(X, 2)\n", - " | array([[ 1, 5],\n", - " | [ 9, 13]])\n", - " | \n", - " | You can use the ``initial`` keyword argument to initialize the reduction\n", - " | with a different value, and ``where`` to select specific elements to include:\n", - " | \n", - " | >>> np.add.reduce([10], initial=5)\n", - " | 15\n", - " | >>> np.add.reduce(np.ones((2, 2, 2)), axis=(0, 2), initial=10)\n", - " | array([14., 14.])\n", - " | >>> a = np.array([10., np.nan, 10])\n", - " | >>> np.add.reduce(a, where=~np.isnan(a))\n", - " | 20.0\n", - " | \n", - " | Allows reductions of empty arrays where they would normally fail, i.e.\n", - " | for ufuncs without an identity.\n", - " | \n", - " | >>> np.minimum.reduce([], initial=np.inf)\n", - " | inf\n", - " | >>> np.minimum.reduce([[1., 2.], [3., 4.]], initial=10., where=[True, False])\n", - " | array([ 1., 10.])\n", - " | >>> np.minimum.reduce([])\n", - " | Traceback (most recent call last):\n", - " | ...\n", - " | ValueError: zero-size array to reduction operation minimum which has no identity\n", - " | \n", - " | reduceat(...)\n", - " | reduceat(a, indices, axis=0, dtype=None, out=None)\n", - " | \n", - " | Performs a (local) reduce with specified slices over a single axis.\n", - " | \n", - " | For i in ``range(len(indices))``, `reduceat` computes\n", - " | ``ufunc.reduce(a[indices[i]:indices[i+1]])``, which becomes the i-th\n", - " | generalized \"row\" parallel to `axis` in the final result (i.e., in a\n", - " | 2-D array, for example, if `axis = 0`, it becomes the i-th row, but if\n", - " | `axis = 1`, it becomes the i-th column). There are three exceptions to this:\n", - " | \n", - " | * when ``i = len(indices) - 1`` (so for the last index),\n", - " | ``indices[i+1] = a.shape[axis]``.\n", - " | * if ``indices[i] >= indices[i + 1]``, the i-th generalized \"row\" is\n", - " | simply ``a[indices[i]]``.\n", - " | * if ``indices[i] >= len(a)`` or ``indices[i] < 0``, an error is raised.\n", - " | \n", - " | The shape of the output depends on the size of `indices`, and may be\n", - " | larger than `a` (this happens if ``len(indices) > a.shape[axis]``).\n", - " | \n", - " | Parameters\n", - " | ----------\n", - " | a : array_like\n", - " | The array to act on.\n", - " | indices : array_like\n", - " | Paired indices, comma separated (not colon), specifying slices to\n", - " | reduce.\n", - " | axis : int, optional\n", - " | The axis along which to apply the reduceat.\n", - " | dtype : data-type code, optional\n", - " | The type used to represent the intermediate results. Defaults\n", - " | to the data type of the output array if this is provided, or\n", - " | the data type of the input array if no output array is provided.\n", - " | out : ndarray, None, or tuple of ndarray and None, optional\n", - " | A location into which the result is stored. If not provided or None,\n", - " | a freshly-allocated array is returned. For consistency with\n", - " | ``ufunc.__call__``, if given as a keyword, this may be wrapped in a\n", - " | 1-element tuple.\n", - " | \n", - " | .. versionchanged:: 1.13.0\n", - " | Tuples are allowed for keyword argument.\n", - " | \n", - " | Returns\n", - " | -------\n", - " | r : ndarray\n", - " | The reduced values. If `out` was supplied, `r` is a reference to\n", - " | `out`.\n", - " | \n", - " | Notes\n", - " | -----\n", - " | A descriptive example:\n", - " | \n", - " | If `a` is 1-D, the function `ufunc.accumulate(a)` is the same as\n", - " | ``ufunc.reduceat(a, indices)[::2]`` where `indices` is\n", - " | ``range(len(array) - 1)`` with a zero placed\n", - " | in every other element:\n", - " | ``indices = zeros(2 * len(a) - 1)``, ``indices[1::2] = range(1, len(a))``.\n", - " | \n", - " | Don't be fooled by this attribute's name: `reduceat(a)` is not\n", - " | necessarily smaller than `a`.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | To take the running sum of four successive values:\n", - " | \n", - " | >>> np.add.reduceat(np.arange(8),[0,4, 1,5, 2,6, 3,7])[::2]\n", - " | array([ 6, 10, 14, 18])\n", - " | \n", - " | A 2-D example:\n", - " | \n", - " | >>> x = np.linspace(0, 15, 16).reshape(4,4)\n", - " | >>> x\n", - " | array([[ 0., 1., 2., 3.],\n", - " | [ 4., 5., 6., 7.],\n", - " | [ 8., 9., 10., 11.],\n", - " | [12., 13., 14., 15.]])\n", - " | \n", - " | ::\n", - " | \n", - " | # reduce such that the result has the following five rows:\n", - " | # [row1 + row2 + row3]\n", - " | # [row4]\n", - " | # [row2]\n", - " | # [row3]\n", - " | # [row1 + row2 + row3 + row4]\n", - " | \n", - " | >>> np.add.reduceat(x, [0, 3, 1, 2, 0])\n", - " | array([[12., 15., 18., 21.],\n", - " | [12., 13., 14., 15.],\n", - " | [ 4., 5., 6., 7.],\n", - " | [ 8., 9., 10., 11.],\n", - " | [24., 28., 32., 36.]])\n", - " | \n", - " | ::\n", - " | \n", - " | # reduce such that result has the following two columns:\n", - " | # [col1 * col2 * col3, col4]\n", - " | \n", - " | >>> np.multiply.reduceat(x, [0, 3], 1)\n", - " | array([[ 0., 3.],\n", - " | [ 120., 7.],\n", - " | [ 720., 11.],\n", - " | [2184., 15.]])\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Data descriptors defined here:\n", - " | \n", - " | identity\n", - " | The identity value.\n", - " | \n", - " | Data attribute containing the identity element for the ufunc, if it has one.\n", - " | If it does not, the attribute value is None.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.add.identity\n", - " | 0\n", - " | >>> np.multiply.identity\n", - " | 1\n", - " | >>> np.power.identity\n", - " | 1\n", - " | >>> print(np.exp.identity)\n", - " | None\n", - " | \n", - " | nargs\n", - " | The number of arguments.\n", - " | \n", - " | Data attribute containing the number of arguments the ufunc takes, including\n", - " | optional ones.\n", - " | \n", - " | Notes\n", - " | -----\n", - " | Typically this value will be one more than what you might expect because all\n", - " | ufuncs take the optional \"out\" argument.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.add.nargs\n", - " | 3\n", - " | >>> np.multiply.nargs\n", - " | 3\n", - " | >>> np.power.nargs\n", - " | 3\n", - " | >>> np.exp.nargs\n", - " | 2\n", - " | \n", - " | nin\n", - " | The number of inputs.\n", - " | \n", - " | Data attribute containing the number of arguments the ufunc treats as input.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.add.nin\n", - " | 2\n", - " | >>> np.multiply.nin\n", - " | 2\n", - " | >>> np.power.nin\n", - " | 2\n", - " | >>> np.exp.nin\n", - " | 1\n", - " | \n", - " | nout\n", - " | The number of outputs.\n", - " | \n", - " | Data attribute containing the number of arguments the ufunc treats as output.\n", - " | \n", - " | Notes\n", - " | -----\n", - " | Since all ufuncs can take output arguments, this will always be (at least) 1.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.add.nout\n", - " | 1\n", - " | >>> np.multiply.nout\n", - " | 1\n", - " | >>> np.power.nout\n", - " | 1\n", - " | >>> np.exp.nout\n", - " | 1\n", - " | \n", - " | ntypes\n", - " | The number of types.\n", - " | \n", - " | The number of numerical NumPy types - of which there are 18 total - on which\n", - " | the ufunc can operate.\n", - " | \n", - " | See Also\n", - " | --------\n", - " | numpy.ufunc.types\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.add.ntypes\n", - " | 18\n", - " | >>> np.multiply.ntypes\n", - " | 18\n", - " | >>> np.power.ntypes\n", - " | 17\n", - " | >>> np.exp.ntypes\n", - " | 7\n", - " | >>> np.remainder.ntypes\n", - " | 14\n", - " | \n", - " | signature\n", - " | Definition of the core elements a generalized ufunc operates on.\n", - " | \n", - " | The signature determines how the dimensions of each input/output array\n", - " | are split into core and loop dimensions:\n", - " | \n", - " | 1. Each dimension in the signature is matched to a dimension of the\n", - " | corresponding passed-in array, starting from the end of the shape tuple.\n", - " | 2. Core dimensions assigned to the same label in the signature must have\n", - " | exactly matching sizes, no broadcasting is performed.\n", - " | 3. The core dimensions are removed from all inputs and the remaining\n", - " | dimensions are broadcast together, defining the loop dimensions.\n", - " | \n", - " | Notes\n", - " | -----\n", - " | Generalized ufuncs are used internally in many linalg functions, and in\n", - " | the testing suite; the examples below are taken from these.\n", - " | For ufuncs that operate on scalars, the signature is None, which is\n", - " | equivalent to '()' for every argument.\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.core.umath_tests.matrix_multiply.signature\n", - " | '(m,n),(n,p)->(m,p)'\n", - " | >>> np.linalg._umath_linalg.det.signature\n", - " | '(m,m)->()'\n", - " | >>> np.add.signature is None\n", - " | True # equivalent to '(),()->()'\n", - " | \n", - " | types\n", - " | Returns a list with types grouped input->output.\n", - " | \n", - " | Data attribute listing the data-type \"Domain-Range\" groupings the ufunc can\n", - " | deliver. The data-types are given using the character codes.\n", - " | \n", - " | See Also\n", - " | --------\n", - " | numpy.ufunc.ntypes\n", - " | \n", - " | Examples\n", - " | --------\n", - " | >>> np.add.types\n", - " | ['??->?', 'bb->b', 'BB->B', 'hh->h', 'HH->H', 'ii->i', 'II->I', 'll->l',\n", - " | 'LL->L', 'qq->q', 'QQ->Q', 'ff->f', 'dd->d', 'gg->g', 'FF->F', 'DD->D',\n", - " | 'GG->G', 'OO->O']\n", - " | \n", - " | >>> np.multiply.types\n", - " | ['??->?', 'bb->b', 'BB->B', 'hh->h', 'HH->H', 'ii->i', 'II->I', 'll->l',\n", - " | 'LL->L', 'qq->q', 'QQ->Q', 'ff->f', 'dd->d', 'gg->g', 'FF->F', 'DD->D',\n", - " | 'GG->G', 'OO->O']\n", - " | \n", - " | >>> np.power.types\n", - " | ['bb->b', 'BB->B', 'hh->h', 'HH->H', 'ii->i', 'II->I', 'll->l', 'LL->L',\n", - " | 'qq->q', 'QQ->Q', 'ff->f', 'dd->d', 'gg->g', 'FF->F', 'DD->D', 'GG->G',\n", - " | 'OO->O']\n", - " | \n", - " | >>> np.exp.types\n", - " | ['f->f', 'd->d', 'g->g', 'F->F', 'D->D', 'G->G', 'O->O']\n", - " | \n", - " | >>> np.remainder.types\n", - " | ['bb->b', 'BB->B', 'hh->h', 'HH->H', 'ii->i', 'II->I', 'll->l', 'LL->L',\n", - " | 'qq->q', 'QQ->Q', 'ff->f', 'dd->d', 'gg->g', 'OO->O']\n", - "\n" - ] - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:root] *", - "language": "python", - "name": "conda-root-py" - }, - "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.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/HappyBirthdaySophie/.ipynb_checkpoints/index-checkpoint.html b/HappyBirthdaySophie/.ipynb_checkpoints/index-checkpoint.html deleted file mode 100644 index ac541ac..0000000 --- a/HappyBirthdaySophie/.ipynb_checkpoints/index-checkpoint.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - -
- -
- diff --git a/HappyBirthdaySophie/.ipynb_checkpoints/sketch-checkpoint.js b/HappyBirthdaySophie/.ipynb_checkpoints/sketch-checkpoint.js deleted file mode 100644 index 3f61a26..0000000 --- a/HappyBirthdaySophie/.ipynb_checkpoints/sketch-checkpoint.js +++ /dev/null @@ -1,103 +0,0 @@ - -let w = 200; -let stepsize = 1; -let Nwalkers = 300; -let fr = 30; -let beta = 0.1; //beta = 0 chooses infinite temperature, beta = inf forces the walkers to go only towards the gradient -let betaslider; - -let radio; - -let cw = 500; -let canvas, src, pg; - -let walkerpos = [] - -let transparent; - - -function proposal(pos) {} - -let img; -let distfield; -function preload() { - img = loadImage('birthday.png'); - distfield = loadImage('distfield.png'); -} - -let dist, showdist, showtarget, showpaths, showwalkers; -let step; -let newpos; - -function setup() { - console.log('canvas has size: ', cw, cw); - canvas = createCanvas(cw, cw); - canvas.parent('sketch-holder'); - //pixelDensity(1); - //let d = pixelDensity(); - frameRate(fr); - - betaslider = createSlider(0, 1, 0.5, 0.0001); - //betaslider.position(10, 10); - betaslider.style('width', '80px'); - - showdist = createCheckbox('Show distance function', false); - showtarget = createCheckbox('Show target image', false); - showpaths = createCheckbox('Show paths', true); - showwalkers = createCheckbox('Show walkers', true); - - overlay = createGraphics(windowWidth, windowHeight); - overlay.pixelDensity(1); - overlay.background(color(0,0,0,0)); - - dist = function(pos) { - return distfield.get(pos.x, pos.y)[0]; - } - - colorMode(HSL); - - walkers = []; - for(let i = 0; i < Nwalkers; i += 1) { - append(walkerpos, createVector(random(width), random(height))); - } - - step = createVector(0,0); -} - -let b; -function draw() { - background(255); - if(showdist.checked()) image(distfield, 0, 0); //the min distance to the nearest non white pixel in the target image - if(showtarget.checked()) image(img, 0, 0); //the target image - if(showpaths.checked()) { - //tint(255, 5e6 / frameCount / Nwalkers); - image(overlay, 0, 0); - } - - //text(dist(createVector(mouseX, mouseY)), width/2, height/2); - //text(overlay.get(mouseX, mouseY), width/2, height/2); - - beta = betaslider.value(); - beta = beta / (1 - beta); - - overlay.loadPixels(); - for(let i = 0; i < Nwalkers; i += 1) { - //let debug = Math.sqrt((mouseX - walkerpos[i].x)**2 + (mouseY - walkerpos[i].y)**2) < 10; - step.x = 2*stepsize*(random() - 0.5); - step.y = 2*stepsize*(random() - 0.5); - newpos = p5.Vector.add(walkerpos[i], step); - let df = dist(newpos) - dist(walkerpos[i]); - if(df > 0 | exp(beta * df) > random(1.0)) { - walkerpos[i].add(step); - } - if(showwalkers.checked()) circle(walkerpos[i].x, walkerpos[i].y, 3); - - // loop over - index = 4 * (int(walkerpos[i].y) * overlay.width + int(walkerpos[i].x)); - b = overlay.pixels[index+3] + 5 - overlay.pixels[index+3] = b; - } - overlay.updatePixels(); - - -} \ No newline at end of file diff --git a/HappyBirthdaySophie/.ipynb_checkpoints/style-checkpoint.css b/HappyBirthdaySophie/.ipynb_checkpoints/style-checkpoint.css deleted file mode 100644 index a952ec5..0000000 --- a/HappyBirthdaySophie/.ipynb_checkpoints/style-checkpoint.css +++ /dev/null @@ -1,13 +0,0 @@ -html, body { - margin: 0; - padding: 0; -} - -#sketch-holder { - padding-left: 0; - padding-right: 0; - margin-left: auto; - margin-right: auto; - display: block; - width: 500px; -} diff --git a/HappyBirthdaySophie/birthday.png b/experiments/HappyBirthdaySophie/birthday.png similarity index 100% rename from HappyBirthdaySophie/birthday.png rename to experiments/HappyBirthdaySophie/birthday.png diff --git a/HappyBirthdaySophie/compute_distance_field.ipynb b/experiments/HappyBirthdaySophie/compute_distance_field.ipynb similarity index 100% rename from HappyBirthdaySophie/compute_distance_field.ipynb rename to experiments/HappyBirthdaySophie/compute_distance_field.ipynb diff --git a/HappyBirthdaySophie/distfield.png b/experiments/HappyBirthdaySophie/distfield.png similarity index 100% rename from HappyBirthdaySophie/distfield.png rename to experiments/HappyBirthdaySophie/distfield.png diff --git a/HappyBirthdaySophie/index.html b/experiments/HappyBirthdaySophie/index.html similarity index 100% rename from HappyBirthdaySophie/index.html rename to experiments/HappyBirthdaySophie/index.html diff --git a/HappyBirthdaySophie/p5.js b/experiments/HappyBirthdaySophie/p5.js similarity index 100% rename from HappyBirthdaySophie/p5.js rename to experiments/HappyBirthdaySophie/p5.js diff --git a/HappyBirthdaySophie/sketch.js b/experiments/HappyBirthdaySophie/sketch.js similarity index 100% rename from HappyBirthdaySophie/sketch.js rename to experiments/HappyBirthdaySophie/sketch.js diff --git a/HappyBirthdaySophie/style.css b/experiments/HappyBirthdaySophie/style.css similarity index 100% rename from HappyBirthdaySophie/style.css rename to experiments/HappyBirthdaySophie/style.css