{"id":14989223,"url":"https://github.com/fish2000/instakit","last_synced_at":"2025-09-08T10:32:41.725Z","repository":{"id":5462132,"uuid":"6657273","full_name":"fish2000/instakit","owner":"fish2000","description":"Image processors and filters for use with ImageKit","archived":false,"fork":false,"pushed_at":"2022-03-16T05:53:40.000Z","size":19959,"stargazers_count":104,"open_issues_count":1,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-12-27T00:07:36.779Z","etag":null,"topics":["cython","django","filter","image-processing","image-processor","imagekit","numpy","pil","pillow","python","python3","scikit-image","scipy"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fish2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-12T17:19:49.000Z","updated_at":"2024-12-13T01:07:40.000Z","dependencies_parsed_at":"2022-09-12T10:50:53.263Z","dependency_job_id":null,"html_url":"https://github.com/fish2000/instakit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fish2000%2Finstakit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fish2000%2Finstakit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fish2000%2Finstakit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fish2000%2Finstakit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fish2000","download_url":"https://codeload.github.com/fish2000/instakit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232302270,"owners_count":18502114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cython","django","filter","image-processing","image-processor","imagekit","numpy","pil","pillow","python","python3","scikit-image","scipy"],"created_at":"2024-09-24T14:17:53.757Z","updated_at":"2025-01-03T06:46:36.774Z","avatar_url":"https://github.com/fish2000.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"INSTAKIT\n========\n\nInstakit\u003csup\u003e\u003cb\u003e†\u003c/b\u003e\u003c/sup\u003e is a suite of image processors and filters, for processing PIL images.\n\nInstaKit processors use the same API as [PILKit](https://github.com/matthewwithanm/pilkit)'s,\nso they can be used with anything that supports those, including [ImageKit](https://github.com/matthewwithanm/django-imagekit).\nOr you can just use them by themselves to process images using Python.\n\n![one](http://i.imgur.com/pQ6Vw.jpg)\n\nImage Processors and Utilities On Offer:\n-----------------------------------------------------\n\n* `instakit.processors.adjust`\n\n    * `Color(0.0 – 1.0)`\n    * `Brightness(0.0 – 1.0)`\n    * `Contrast(0.0 – 1.0)`\n    * `Sharpness(0.0 – 1.0)`\n    * `Invert()`\n    * `Equalize([mask])`\n    * `AutoContrast([cutoff{uint8_t}, [ignore{uint8_t}]])`\n    * `Solarize([threshold{uint8_t}])`\n    * `Posterize([bits{2**n}])`\n\n* `instakit.processors.blur`\n\n    * `Contour()`\n    * `Detail()`\n    * `Emboss()`\n    * `FindEdges()`\n    * `EdgeEnhance()`\n    * `EdgeEnhanceMore()`\n    * `Smooth()`\n    * `SmoothMore()`\n    * `Sharpen()`\n    * `UnsharpMask([radius=2, [percent=150, [threshold=3]]])`\n    * `SimpleGaussianBlur([radius=2])`\n    * `GaussianBlur([sigmaX=3, [sigmaY=3, [sigmaZ=3]]])`\n    \n* `instakit.processors.curves`\n\n    * `InterpolationMode`\n        * `LINEAR`, `NEAREST`, `ZERO`, `SLINEAR`, `QUADRATIC`, `CUBIC`, `PREVIOUS`, `NEXT`, `LAGRANGE`\n    * `CurveSet(\u003cFILE.ACV\u003e, [InterpolationMode.LAGRANGE])`\n\n* `instakit.processors.halftone`\n\n    * `Atkinson([threshold{uint8_t}])`\n    * `FloydSteinberg([threshold{uint8_t}])`\n    * `SlowAtkinson([threshold{uint8_t}])`\n    * `SlowFloydSteinberg([threshold{uint8_t}])`\n    * `CMYKAtkinson([gcr=20{%}])`\n    * `CMYKFloydsterBill([gcr=20{%}])`\n    * `DotScreen([sample=1, [scale=2, [angle=0{°}]]])`\n    * `CMYKDotScreen([gcr=20{%}, [sample=10, [scale=10, [thetaC=0{°}, [thetaM=15{°}, [theta=30{°}, [thetaK=45{°}]]]]]]])`\n\n* `instakit.processors.noise`\n\n    * `GaussianNoise()`\n    * `PoissonNoise()`\n    * `GaussianLocalVarianceNoise()`\n    * `SaltNoise()`\n    * `PepperNoise()`\n    * `SaltAndPepperNoise()`\n    * `SpeckleNoise()`\n\n* `instakit.processors.squarecrop`\n\n    * `histogram_entropy(image)`\n    * `SquareCrop()` … smart!\n\n* `instakit.utils.ext.api` (Cythonized)\n\n    * `hsluv_to_rgb(…)`\n    * `rgb_to_hsluv(…)`\n    * `hpluv_to_rgb(…)`\n    * `rgb_to_hpluv(…)`\n\n* `instakit.utils.gcr`\n\n    * `gcr(image, [percentage=20{%}, [revert_mode=False]])`\n    * `BasicGCR([percentage=20{%}, [revert_mode=False]])`\n\n* `instakit.utils.kernels`\n* `instakit.utils.lutmap`\n* `instakit.utils.mode`\n\n    * `Mode`\n        * `MONO`, `L`, `I`, `F`, `P`, `RGB`, `RGBX`, `RGBA`, `CMYK`, `YCbCr`, `LAB`, `HSV`, `RGBa`, `LA`, `La`, `PA`, `I16`, `I16L`, `I16B`\n        * Many useful `PIL.Image` delegate methods (q.v. source)\n\n* `instakit.utils.ndarrays`\n* `instakit.utils.pipeline`\n\n    * `Pipe`, `Ink`, `NOOp`\n    * `CMYKInk` and `RGBInk`\n    * `ChannelFork` and `ChannelOverprinter`\n\n* `instakit.utils.static`\n* `instakit.utils.stats`\n\n\n![two](http://i.imgur.com/ln1Eq.jpg)\n\n![three](http://i.imgur.com/MBuC5.jpg)\n\nAs of this first draft there are [Instagrammy](http://www.instagram.com/) image-curve adjusters and a few other geegaws.\n\nInstakit is made available to you and the public at large under the [MIT license](http://opensource.org/licenses/MIT) -- see LICENSE.md for the full text.\n\n † née “django-instakit” – All dependencies and traces of Django have since been excised, with thanks to [matthewwithanm](https://github.com/matthewwithanm).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffish2000%2Finstakit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffish2000%2Finstakit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffish2000%2Finstakit/lists"}