From 4cf201b44d07a297f8cd14ec86bb6962cadcf032 Mon Sep 17 00:00:00 2001 From: sai Date: Thu, 4 Jul 2024 22:58:04 -0400 Subject: [PATCH] Added new stuff --- random/dsl_scratch_execute.ipynb | 173 +++++++++++++++++++++++++++++++ src/README.md | 165 +++++++++++++++++++++++++++++ src/arclang/README.md | 2 - src/arclang/dsl.py | 7 -- 4 files changed, 338 insertions(+), 9 deletions(-) create mode 100644 random/dsl_scratch_execute.ipynb create mode 100644 src/README.md diff --git a/random/dsl_scratch_execute.ipynb b/random/dsl_scratch_execute.ipynb new file mode 100644 index 0000000..4e952dc --- /dev/null +++ b/random/dsl_scratch_execute.ipynb @@ -0,0 +1,173 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from functools import reduce\n", + "from collections import namedtuple\n", + "from typing import List, Tuple, Union\n", + "import json\n", + "\n", + "MAXSIDE = 100\n", + "MAXAREA = 40 * 40\n", + "MAXPIXELS = 40 * 40 * 5\n", + "\n", + "import sys\n", + "import os\n", + "\n", + "sys.path.append(os.path.abspath(os.path.join('..', 'src', 'arclang')))\n", + "sys.path.append(os.path.abspath(os.path.join('..', 'src')))\n", + "\n", + "from image import Image, Point\n", + "from function import *\n", + "from dsl import *" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "path = \"/home/sai/Desktop/arc/ARC-AGI/data/training/ce4f8723.json\"\n", + "with open(path,\"r\") as f:\n", + " data_ce9 = json.loads(f.read())\n", + "img_mask = data_ce9[\"train\"][0][\"input\"]\n", + "img_mask = np.array(img_mask)\n", + "y,x = img_mask.shape\n", + "input_img= Image(0,0,x,y,img_mask)\n", + "display_matrix(input_img)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_matrix(border(input_img)) " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAGdCAYAAABwyyjqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABK40lEQVR4nO3df1xU953v8dcEZCbJ8ENBERUFIxCkoMWqEWqjjahpUEkoomlVIHC3LHK1cb1bVMDANvgjqNka09a1DA+t+dFYfzaYzXVLaxArarPRxEaqm2qronIFFBqkMPePbmYzRdODjvLr/Xw8zqNzvvM9n/OZU+Kbw8ycY7Lb7XZERETk73qgsxsQERHpLhSaIiIiBik0RUREDFJoioiIGKTQFBERMUihKSIiYpBCU0RExCCFpoiIiEEKTREREYMUmiKfs3LlSkwmU2e3ISJdlEJTOo3NZsNkMmEymXjvvffaPW+32wkMDMRkMhEfH9/h+i+++CK7du1yQaciIn+l0JROZ7FY2L59e7vxX/3qV/zxj3/EbDbfUd07Cc0VK1bw5z//+Y72JyI9n0JTOt03vvENfvazn/GXv/zFaXz79u2MGTOGgQMH3vMeGhsbAXB3d8disdzz/YlI96TQlE43d+5camtreffddx1jN2/e5K233uLZZ59tN/+ll14iJiYGX19fHnzwQcaMGcNbb73lNMdkMtHY2EhpaanjT8ApKSnA/7xv+dFHH/Hss8/St29fvvrVrzo995mSkhJMJhM/+clPnOq/+OKLmEwm3n77bVcdBhHpBhSa0umCgoKYMGECr732mmOsrKyM+vp65syZ027+yy+/zJe//GUKCgp48cUXcXd3JykpiV/84heOOVu3bsVsNjNx4kS2bt3K1q1b+Yd/+AenOklJSTQ1NfHiiy+SkZFxy95SU1OJj4/n+eef5/z58wCcOHGCF154geeee45vfOMbrjgEItJNuHd2AyIAzz77LDk5Ofz5z3/mwQcf5Kc//SmPP/44gwYNajf39OnTPPjgg471hQsXEh0dzbp163jqqacA+Pa3v813vvMdhg8fzre//e1b7nPUqFG3fC/1b23evJmIiAiee+459u3bx4IFCxg4cCDr1q27w1crIt2VQlO6hNmzZ7N48WL27dvH9OnT2bdvH//6r/96y7mfD8xr167R2trKxIkTnc5UjfjO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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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NWTIEGpra53v/f39SUpKwmq1YrPZSEtLc9t37d+/3/n6ypUrnDhxgsjISAAiIyNvuG2rtLSU8PBwPDw8WvU9b731FvX19Xz7299udY26XUpERO6KyspKUlJSSE9PJyYmBm9vbw4dOsSKFSuYNm2aS9+MjAwSExNpampi9uzZbquhsLAQf39/AgMDWbhwIQEBASQlJQEwf/58RowYQVFREdOnT6esrIy1a9fy6quvtvp71q9fT1JSEv7+/q1eV8EsIiJ3hcViYdSoUaxevZpTp07R2NhISEgImZmZ5OXlufSdMGECwcHBREVF0bt3b7fVsGzZMubOncvJkycZNmwYO3bsoFu3bgDExsby5ptvsnjxYoqKiggODqawsJDU1NRWfcfHH3/MBx98wHvvvXdbNZocDofjttYUEZEOqaamBl9fX6rzg/Ext+0XzZrPmvEtOk91dTU+Pj5uqhCuXbtGnz59sFqtPPXUU24btyPQEbOIiBhGc3Mzly9fpri4GD8/P+eDRzoTBbOIiBjGmTNnCAsLo2/fvthsNjw9O19Mdb4tFhERwwoNDaWz/8Kq26VEREQMRMEsIiJiIApmkbtsyZIlzqcSiYh8kYJZ7mk2m805UfkHH3xww+cOh4OQkBBMJtMNU821xIsvvsi2bdvcUKmIyD8omKVTMJvNbNq06Yb23//+9/z1r3/90uf6fpnbCeZFixbx97///ba+T0TufQpm6RSeeOIJ3nrrLT7//HOX9k2bNjF8+HCCgoLueA3XnwXs6emJ2Wy+498nIh2Tglk6hWeeeYbKykref/99Z1tDQwNvv/02zz777A39X3rpJeLi4vD39+e+++5j+PDhvP322y59TCYTtbW12O125+ny64/uu/478p/+9CeeffZZunfvzqOPPury2XVWqxWTycQbb7zhMv6LL76IyWTi3XffddduEJEOQMEsnUJoaCijR4/mP/7jP5xtu3btorq6mhkzZtzQ/+WXX+ahhx6isLCQF198EU9PT1JSUvj1r3/t7LNhwwa8vLwYM2YMGzZsYMOGDfyv//W/XMZJSUmhrq6OF198kczMzJvWlpaWRmJiIs8//zxnz54F4NixY/zoRz/iueee44knnnDHLhCRDkIPGJFO49lnnyU3N5e///3v3HffffziF7/gscceu+kD8k+cOMF9993nfD9nzhxiY2NZtWoV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tCcnJzNmzBhKSkpuul5ubi7PP/+8831NTY3CWUREOqxWBXPPnj3p2bPnV/YbPXo0VVVVHD58mOHDhwP/CN7m5mZGjRp103VeeOEFMjIyXNqio6NZvXo1U6ZMueV3eXl54eXl1YqtEBERMa478htzZGQkkydPJjMzk5/97Gc0NjYyZ84cZsyY4bwi+9NPP2X8+PH83//7fxk5ciRBQUE3PZru168fYWFhd6JMERERw7lj9zH/4he/YPDgwYwfP54nnniCRx99lNdff935eWNjIx9//DF1dXr8j4iIyHV37JGcPXr0YNOmTbf8PDQ0lK+aP+Mem19DRETkK2n+MBERueeVlJRgMpmoqqpq0zihoaGtvnuotRTMIiJy11y6dImsrCz69euHl5cXQUFBTJo0idLS0vYuzS1sNtsNtxGbzeZWjXHPzS4lIiLGlZycTENDA3a7nQEDBlBRUcGePXuorKxs79LcxsfHh48//tj5vrVzP+iIWURE7oqqqir27t3L8uXLGTduHP3792fkyJHk5uYydepUANLT00lMTHRZr7GxkV69erF+/XoAxo4dS05ODvPmzaN79+4EBgaybt06amtrSUtLw9vbm4EDB7Jr164baigtLSUmJgaz2cwjjzzC8ePHXT7fsmULUVFReHl5ERoaSnFxcau302QyOe80CgoKIjAwsFXrG2bax7/97W/k5OQQERHBfffdR79+/fjf//t/U11dfadKFBERN6mpqXFZ/vVRyddZLBYsFgvbtm276ecAGRkZ7N69m/Pnzzvbdu7cSV1dHdOnT3e22e12AgICOHDgADk5OWRlZZGSkkJcXBxHjhxh4sSJzJw584Y7fxYsWEBxcTEHDx6kZ8+eTJkyhcbGRgAOHz7M008/zYwZMzh27BhLliwhPz8fm83Wqn1x7do1+vfvT0hICNOmTeOjjz5q1fqGmfbx3LlznDt3jpdeeonjx49js9nYvXs3zz333J0qUURE3CQkJMTl8chLly69oY+npyc2mw273Y6fnx/x8fHk5eVx9OhRZ5+4uDgiIiLYsGGDs81qtZKSkoLFYnG2DR06lEWLFjFo0CByc3Mxm80EBASQmZnJoEGDWLx4MZWVlS5jAxQUFJCQkEB0dDR2u52Kigq2bt0KwKpVqxg/fjz5+fmEh4eTmprKnDlzWLlyZYv3Q0REBG+88Qa/+tWv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19cXcg6Dl+WrV/gy9dfgp8Oprq7Gx8fHPQUC165do0+fPlitVp566im3jdsR6IhZREQMo7m5mcuXL1NcXIyfn5/zwSOdiYJZREQM48yZM4SFhdG3b19sNhuenp0vpjrfFouIiGGFhobS2X9h1e1SIiIiBqJgFhERMRAFs4iIiIEomEVERAxEwSwiImIgCmYREREDUTCLiIgYiIJZRETEQBTMIiIiBqJgFhERMRDNLiUi0sk4Z5dyo/DwcDw8PMjOziY7O9utY3c2CmYRkU7mTgSzu6d97Mx0KltERMRAFMwiIiIGomAWERExEAWziIiIgSiYRUREDETBLCIiYiAKZhEREQNRMIuIiBiIgllERMRAFMwiIiIGomAWERExEAWziIjc80pKSjCZTFRVVbVpnNDQUNasWeOWmm5FwSwiInfNpUuXyMrKol+/fnh5eREUFMSkSZMoLS1t79Lc5q233mLw4MGYzWaio6N59913W7W+gllERO6a5ORk/vjHP2K32zlx4gTbt29n7NixVFZWtndpbrFv3z6eeeYZnnvuOf74xz+SlJREUlISx48fb/EYCmYREbkrqqqq2Lt3L8uXL2fcuHH079+fkSNHkpuby9SpUwFIT08nMTHRZb3GxkZ69erF+vXrARg7diw5OTnMmzeP7t27ExgYyLp166itrSUtLQ1vb28GDhzIrl27bqihtLSUmJgYzGYzjzzyyA2BuWXLFqKiovDy8iI0NJTi4uJWbePLL7/M5MmTWbBgAZGRkRQVFREbG8vatWtbPIaCWURE7gqLxYLFYmHbtm3U19fftE9GRga7d+/m/PnzzradO3dSV1fH9OnTnW12u52AgAAOHDhATk4OWVlZpKSkEBcXx5EjR5g4cSIzZ86krq7OZfwFCxZQXFzMwYMH6dmzJ1OmTKGxsRGAw4cP8/TTTzNjxgyOHTvGkiVLyM/Px2aztXgby8rKmDBhgkvbpEmTKCsra/EYOEREpFOprq52AG5dzp4966iurnYun3322U2/++2333Z0797dYTabHXFxcY7c3FzHf/3Xf7n0GTJkiGP58uXO91OmTHGkpqY63z/22GOORx991Pn+888/dzzwwAOOmTNnOtvOnz/vABxlZWUOh8Ph+N3vfucAHJs3b3b2qaysdNx3332OX/7ylw6Hw+F49tlnHQkJCS61LFiwwDFkyBDn+/79+ztWr159y33btWtXx6ZNm1zaXnnlFUevXr1uuc4X6YhZRETaLCQkBF9fX+eydOnSm/ZLTk7m3LlzbN++ncmTJ1NSUkJsbKzLUWlGRgZWqxWAiooKdu3aRXp6uss4MTExztceHh74+/sTHR3tbAsMDATg4sWLLuuNHj3a+bpHjx5ERERQXl4OQHl5OfHx8S794+PjOXnyJE1NTS3dFW2mYBYRkTY7e/Ys1dXVziU3N/eWfc1mMwkJCeTn57Nv3z5SU1MpKChwfj5r1ixOnz5NWVkZGzduJCwsjDFjxriM0bVrV5f3JpPJpc1kMgHQ3Nzsjs1rsaCgICoqKlzaKioqCAoKavEYCmYREWkzHx8fl8XLy6vF6w4ZMoTa2lrne39/f5KSkrBardhsNtLS0txW5/79+52vr1y5wokTJ4iMjAQgMjLyhtu2SktLCQ8Px8PDo0Xjjx49mj179ri0vf/++y5H6l/Fs8U9RURE2qCyspKUlBTS09OJiYnB29ubQ4cOsWLFCqZNm+bSNyMjg8TERJqampg9e7bbaigsLMTf35/AwEAWLlxIQEAASUlJAMyfP58RI0ZQVFTE9OnTKSsrY+3atbz66qstHn/u3Lk89thjFBcX8+STT7J582YOHTrE66+/3uIxFMwiInJXWCwWRo0axerVqzl16hSNjY2EhISQmZlJXl6eS98JEyYQHBxMVFQUvXv3dlsNy5YtY+7cuZw8eZJhw4axY8cOunXrBkBsbCxvvvkmixcvpqioiODgYAoLC0lNTW3x+HFxcWzatIlFixaRl5fHoEGD2LZtG1/72tdaPIbJ4XA4WrthIiLScdXU1ODr6+vWMaurq/Hx8XHbeNeuXaNPnz5YrVaeeuopt43bEeiIWUREDKO5uZnLly9TXFyMn5+f88EjnYmCWUREDOPMmTOEhYXRt29fbDYbnp6dL6Y63xaLiIhhhYaG0tl/YdXtUiIiIgaiYBYRETEQBbOIiIiBKJhFREQMRMEsIiJiIApmERERA1Ewi4iIGIiCWURExEAUzCIiIgaiYBYRETEQBbOISCfTrVs3goKC3Daej48PI0eOZMiQIbzyyituG7ez0rSPIiKd0GeffUZDQ4NbxurWrRtms9ktY4mCWURExFB0KltERMRAFMwiIiIGomAWERExEAWziIiIgSiYRUREDETBLCIiYiAKZhEREQP5/wHBa/Oskjy26wAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "[None, None, None]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[display_matrix(i) for i in input_img.list_components(\"partition\",True) ]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def apply_to_selected_area(self, img: Image, func: Callable[[Image], Image],selected_area) -> Image:\n", + " if selected_area:\n", + " x1, y1, x2, y2 = selected_area\n", + " selected = img.sub_image(Point(x1, y1), Point(x2-x1, y2-y1))\n", + " modified = func(selected)\n", + " result = img.copy()\n", + " result.mask[y1:y2, x1:x2] = modified.mask\n", + " return result\n", + " return func(img)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "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.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..f80c0f7 --- /dev/null +++ b/src/README.md @@ -0,0 +1,165 @@ +## ArcLang command line + + +The goal of this is to be able to create a SQL type language for solving Arc type languages. + +It will follow a syntax like python for blocks. Example: +``` +INI +SELECT 0 5 3 6 + FILL 3 +SELECT 0 5 3 6 + FILL 4 +X = SPLIT DFS +FOREACH Y X + HALF Y + REPLACECLR 1 3 + STACK Y INI + +``` + +List of primitives: +- Colors +- Rules( conditionals) +- Loops +- Function +- Pattern +- Templates + +List of functions you can use: +- SELECT +- FILL +- SPLIT +- EXPAND +- CENTER +- ORDER +- BOUNDARY +- INSIDE +- OUTSIDE +- SHRINK +- CLEAR +- COPY +- MOVE +- ROTATE +- MAX +- MIN +- ODD_ONE_OUT +- FLIP +- REPLACE +- REPLACECLR +- OVERLAY +- SUBTRACT +- APPLY_PATERN +- IF +- COUNT +- GROUP +- FOREACH +- WHILE +- CONNECT +- CONVOLVE +- SCALE +- SHIFT +- EXTRUDE +- RANDOMIZE +- SORT_COLORS +- CROP +- RESIZE +- APPLY_MASK +- BLEND +- RECURSIVE +- DISPLAY + +# ArcLang Command Line + +ArcLang is a SQL-type language designed for solving Arc-type problems. It uses a Python-like syntax for blocks and provides a set of functions to manipulate images. + +## Syntax Example + +```ini +SELECT 0 5 3 6 + FILL 3 +SELECT 0 5 3 6 + FILL 4 +X = SPLIT DFS +FOREACH Y X + HALF Y + REPLACECLR 1 3 + STACK Y +``` + +## Available Functions + +### Implemented Functions +These functions can be directly implemented using the provided Image class and its methods: + +1. SELECT: Can be implemented using Image.sub_image() +2. FILL: Can be implemented using Image.full() +3. SPLIT: Can be implemented using list_components() or split_cols() +4. CENTER: Can be implemented using center() +5. BOUNDARY: Can be implemented using border() +6. INSIDE: Can be implemented using interior() +7. OUTSIDE: Can be implemented using invert() +8. SHRINK: Can be implemented using compress() +9. CLEAR: Can be implemented using Image.empty() +10. COPY: Can be implemented using Image.copy() +11. MOVE: Can be implemented using align() or by modifying x and y attributes +12. ROTATE: Can be implemented using rigid() +13. FLIP: Can be implemented using rigid() +14. REPLACE: Can be implemented using replace_cols() +15. REPLACECLR: Can be implemented using filter_col() and compose() +16. OVERLAY: Can be implemented using compose() +17. SUBTRACT: Can be implemented using compose() with a custom function +18. COUNT: Can be implemented using count() +19. CONNECT: Can be implemented using connect() + +### Functions Requiring Modification or Combination +These functions can be implemented by modifying or combining existing functions: + +1. EXPAND: Can be implemented by modifying extend() or extend2() +2. ORDER: Can be implemented using sort and existing functions +3. MAX/MIN: Can be implemented using pick_max() with custom criteria +4. ODD_ONE_OUT: Can be implemented using pick_unique() +5. APPLY_PATTERN: Can be implemented using replace_template() +6. GROUP: Can be implemented using list_components() and compose() +7. FOREACH: Can be implemented as a loop over components or colors +8. WHILE: Can be implemented as a Python while loop +9. CONVOLVE: Can be implemented using numpy operations on the mask +10. SCALE: Can be implemented by modifying transform() +11. SHIFT: Can be implemented using move() +12. EXTRUDE: Can be implemented by extending existing 2D operations +13. SORT_COLORS: Can be implemented using split_cols() and compose() +14. CROP: Can be implemented using sub_image() +15. RESIZE: Can be implemented by modifying transform() +16. APPLY_MASK: Can be implemented using compose() with a custom function +17. BLEND: Can be implemented using compose() with a custom blending function + +### Functions Requiring Additional Implementation +These functions would require additional implementation or are not directly supported by the current codebase: + +1. RANDOMIZE: Would require implementing a random number generator +2. RECURSIVE: Would require implementing a recursive function caller + +### Control Structures +The following control structures can be implemented using Python-like syntax: + +1. IF: Can be implemented using Python's if statements +2. FOREACH: Can be implemented using Python's for loops +3. WHILE: Can be implemented using Python's while loops + +## Usage + +To use ArcLang, write your commands in a file with a .arc extension. Then run the ArcLang interpreter with your file as an argument: + +``` +python arclang_interpreter.py your_file.arc +``` + +## Limitations + +- The current implementation is based on 2D image operations. 3D operations would require significant extensions. +- Some functions may have performance limitations for very large images. +- The language is designed for Arc-type problems and may not be suitable for general-purpose programming. + +## Contributing + +Contributions to extend the functionality of ArcLang are welcome. Please submit pull requests with clear descriptions of new functions or improvements. \ No newline at end of file diff --git a/src/arclang/README.md b/src/arclang/README.md index b76d474..00cdd0d 100644 --- a/src/arclang/README.md +++ b/src/arclang/README.md @@ -71,5 +71,3 @@ Additional Python functions not in C++: - [x] get_repeating -# Functions 2 - diff --git a/src/arclang/dsl.py b/src/arclang/dsl.py index 453a9a7..1a6f908 100644 --- a/src/arclang/dsl.py +++ b/src/arclang/dsl.py @@ -50,16 +50,9 @@ def __init__(self): 'SCALE': self.scale, 'SHIFT': self.shift, 'EXTRUDE': self.extrude, - 'ERODE': self.erode, - 'DILATE': self.dilate, 'RANDOMIZE': self.randomize, 'SORT_COLORS': self.sort_colors, - 'BLUR': self.blur, - 'SHARPEN': self.sharpen, 'INVERT_COLORS': self.invert_colors, - 'ADJUST_BRIGHTNESS': self.adjust_brightness, - 'ADJUST_CONTRAST': self.adjust_contrast, - 'APPLY_GRADIENT': self.apply_gradient, 'CREATE_BORDER': self.create_border, 'CROP': self.crop, 'RESIZE': self.resize,