#imagedata
Can't wait for the journey to begin! ✨
#FAIRdata #ImageData #EuroBioImaging
Imaging generates huge amounts of research data daily, but data alone isn't enough. Over time, it can lose context and reusability, even for its creators.

Want to learn more?
We are launching soon: "A FAIR Data Journey"!

#FAIRdata #ResearchData
@eurobioimaging.bsky.social
September 3, 2026 at 6:32 AM
CVE-2026-84886 - simular-ai Agent-S OCR HTTP API Resource Consumption Vulnerability
CVE ID : CVE-2026-84886

Published : Sept. 2, 2026, 10:20 p.m. | 55 minutes ago

Description : A vulnerability was determined in simular-ai Agent-S up to 0.3.2. Affected by this vulnerabili...
CVE-2026-84886 - simular-ai Agent-S OCR HTTP API Resource Consumption Vulnerability
A vulnerability was determined in simular-ai Agent-S up to 0.3.2. Affected by this vulnerability is the function ImageData of the file gui_agents/s1/utils/ocr_server.py of the component OCR HTTP API. Executing a manipulation of the argument img_bytes can lead to resource consumption. The attack may be launched remotely. The exploit has been …
cvefeed.io
September 2, 2026 at 11:23 PM
imagedata
August 24, 2026 at 11:51 AM
Failed to execute 'createImageData' on 'CanvasRenderingContext2D': Out of memory at ImageData creation

real cool fotos I got,
July 20, 2026 at 1:59 AM
https://developer.mozilla.org/en-US/docs/Web/API/ImageData/colorSpace
ImageData: colorSpace property - Web APIs | MDN
developer.mozilla.org
June 28, 2026 at 6:08 AM
I think this is a nice endpoint to have
May 11, 2026 at 12:06 PM
⏳️ Have you registered yet? #EuroBioImaging's Image Data Community Days event is happening next week. If you're curious about biological & preclinical #imagedata analysis, management, tools & more this event is for you.
Registration is FREE & open to all⤵️
www.eurobioimaging.eu/events/image...
April 10, 2026 at 4:26 PM
A new AI review! jankovicsandras/imagetracerjs ⭐3.4/5.0
`imagetracerjs` is a compact, dependency-light JavaScript library for converting raster images (via `ImageData`) into SVG vectors, with both browser-oriented helpers and a Node.
https://gitrated.com/jankovicsandras/imagetracerjs
March 26, 2026 at 11:52 PM
then at the end, in addition to doing the usual putImageData, you also need to do a set operation on the imagedata to attach the buffer to it. i tried doing this once at setup but it seems you do need to do it every frame.

that seems potentially expensive if it's writing every pixel in there.
March 17, 2026 at 8:42 PM
What you can do is take your Uint8ClampedArray from ImageData and create a new Uint32Array using its 8-bit array's buffer property.

a = new Uint8Array(16);
b = new Uint32Array(a.buffer); // four 4-byte elements
March 17, 2026 at 7:30 PM
yes, what's the context for that? can you like make a different interface into the imagedata or similar?
March 17, 2026 at 7:04 PM
ok this may have errors (it's suspiciously red tinted) but the basic idea stands- i am currently flipping my 2d typed array to an imagedata like this, by splitting my colors up into channels.

but isn't there a way to flip a 32 bit color with one assignment? i know i've seen. search is so broken.
March 17, 2026 at 6:43 PM
I realized I could do better. the revised approach (WIP): allow up to 50M pixels or 12288 in one dimension. the limit you hit is not necessarily a resolution limit, but with image encoding in-browser the WASM-based encoder may shit a brick when trying to encode ~200MB of decompressed ImageData.
December 19, 2025 at 8:50 AM
Image Data Automation Techniques
Techniques for automating data from images using LeadFoxy.
#ImageData #AutomationTechniques #Tips #Tech
leadfoxy.com/blog/
Image Data Automation Techniques
Techniques for automating data from images using LeadFoxy.
ailabs.microdeft.com
December 11, 2025 at 4:28 PM
imagedata-worker-leak.netlify.app

I ran into the exact issue, and had to implement a semaphore. For this example app, it's the "Wait for worker response".

Also, if you're using Safari - DO NOT TRIGGER "Toss transferable to empty MessageChannel".

It _will_ crash your Mac.
ImageData <> worker memory leak
imagedata-worker-leak.netlify.app
December 9, 2025 at 5:41 PM
🙌 #EuroBioImaging attended #SPAOM2025 this week with the 🇪🇸 + 🇵🇹 imaging communities. 🔬
Some key moments:
- Our FAIR #ImageData satellite event
- Meeting with our Scientific Ambassadors
- Workshop on Impact of Imaging Core Facilities
Thanks to the organisers for this amazing conference! 🎉
November 7, 2025 at 2:40 PM
📸 Photo courtesy of the France-BioImaging Node, Annual Advanced Training Course.

#OpenAccess #OpenScience #FAIRdata #ImageData #OAweek
October 21, 2025 at 11:41 AM
ValueError: Image path is None/Invalid Imagedata dictionary
Endpoints only accept data, not URLs or local paths. Therefore, if utilities or libraries for automatic conversion are unavailable, you must manually convert and pass the data… * * * Use the Hugging Face **Serverless Inference API** and send the **image bytes** (or base64) to the model URL with a Bearer token. Do not send a local file path. The API endpoint format is: https://api-inference.huggingface.co/models/<MODEL_ID> Example model id: `google/vit-base-patch16-224`. Docs verified 2025-10-15. (Hugging Face) # What the API expects * Auth: `Authorization: Bearer hf_...` using a fine-grained user token. (Hugging Face) * Payloads for image tasks: * **Raw bytes** body with `Content-Type: image/jpeg` (or png, webp). * **JSON** body with `"inputs": "<base64 string>"`. Response for image-classification is an array of `{label, score}`. Docs updated format shown in the Image Classification API spec. Verified 2025-10-15. (Hugging Face) * Cold start: first call can return **503** while the model loads. Retry. (Hugging Face) # cURL quick tests Binary bytes (recommended): # Ref: https://huggingface.co/docs/inference-endpoints/supported_tasks (binary example also applies) # https://huggingface.co/learn/cookbook/enterprise_hub_serverless_inference_api (endpoint format) /usr/bin/curl -sS \ -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: image/jpeg" \ --data-binary "@/path/to/local.jpg" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" JSON base64: # Ref: https://huggingface.co/docs/inference-providers/en/tasks/image-classification b64=$(base64 -w0 </path/to/local.jpg) curl -sS -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: application/json" \ -d "{”inputs”:”$b64”}" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" The Inference Providers spec explicitly allows base64 or raw bytes, and returns `{label, score}` objects. (Hugging Face) HF’s supported-tasks reference shows the exact `--data-binary` pattern for images. (Hugging Face) # Android (OkHttp) — send local image bytes // Ref: // - API URL shape + 503 note: https://huggingface.co/learn/cookbook/enterprise_hub_serverless_inference_api // - Payload options + response schema: https://huggingface.co/docs/inference-providers/en/tasks/image-classification // - InferenceClient accepts bytes/paths/URLs for images: https://huggingface.co/docs/huggingface_hub/en/package_reference/inference_client import android.content.Context import android.net.Uri import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody fun classifyLocalImage( context: Context, contentUri: Uri, hfToken: String, modelUrl: String = "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" ): String { val bytes = context.contentResolver.openInputStream(contentUri)!!.use { it.readBytes() } val body = bytes.toRequestBody("image/jpeg".toMediaType()) // set correct type if PNG/WebP val req = Request.Builder() .url(modelUrl) .addHeader("Authorization", "Bearer $hfToken") .addHeader("Content-Type", "image/jpeg") .post(body) .build() OkHttpClient().newCall(req).execute().use { resp -> if (!resp.isSuccessful) error("HTTP ${resp.code}: ${resp.body?.string()}") return resp.body!!.string() // e.g., [{"label":"tabby","score":0.99}, ...] } } Alternative: JSON base64 from Android import android.util.Base64 import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody fun classifyLocalImageAsJson( context: Context, contentUri: Uri, hfToken: String, modelUrl: String ): String { val bytes = context.contentResolver.openInputStream(contentUri)!!.use { it.readBytes() } val b64 = Base64.encodeToString(bytes, Base64.NO_WRAP) // avoid newlines val json = """{"inputs":"$b64"}""" val body = json.toRequestBody("application/json".toMediaType()) val req = Request.Builder() .url(modelUrl) .addHeader("Authorization", "Bearer $hfToken") .post(body) .build() OkHttpClient().newCall(req).execute().use { resp -> if (!resp.isSuccessful) error("HTTP ${resp.code}: ${resp.body?.string()}") return resp.body!!.string() } } # Minimal checklist 1. Build the URL: `https://api-inference.huggingface.co/models/<MODEL_ID>`. (Hugging Face) 2. Add `Authorization: Bearer <HF_TOKEN>`. Use a fine-grained token. (Hugging Face) 3. Send **bytes** with `Content-Type: image/<ext>` or send **JSON** with `"inputs": "<base64>"`. (Hugging Face) 4. Handle `503` by retrying. Handle `429` by backing off. Rate limits for free users are a few hundred requests per hour; PRO increases limits. (Hugging Face) 5. Expect image-classification output as `{"label": "...","score": ...}, ...]`. ([Hugging Face) # Common mistakes * Sending a **file path** string. The server cannot read client files. Send bytes or base64. (Hugging Face) * Wrong `Content-Type`. Match your actual image type, or use `application/octet-stream`. (Hugging Face) * Newlines in base64. Use no-wrap encoding on mobile to avoid bad JSON. * Assuming JSON is required. Raw image bytes are accepted when you do not pass `parameters`. (Hugging Face) # Short examples to copy cURL, JPEG bytes: # https://huggingface.co/docs/inference-endpoints/supported_tasks curl -sS -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: image/jpeg" \ --data-binary "@local.jpg" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" cURL, JSON base64: # https://huggingface.co/docs/inference-providers/en/tasks/image-classification b64=$(base64 -w0 < local.jpg) curl -sS -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: application/json" \ -d "{”inputs”:”$b64”}" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" # Supplemental references * **Serverless Inference API cookbook.** Endpoint format, auth, rate limits, cold-start behavior. Updated frequently. Checked 2025-10-15. (Hugging Face) * **Image Classification API spec.** Exact request shapes. Base64 vs raw bytes. Response schema. Checked 2025-10-15. (Hugging Face) * **Supported tasks reference.** Shows concrete `--data-binary` image examples. Useful when crafting raw HTTP calls. Checked 2025-10-15. (Hugging Face) * **User access tokens.** Bearer token usage and management. Checked 2025-10-15. (Hugging Face)
discuss.huggingface.co
October 15, 2025 at 6:00 AM
ValueError: Image path is None/Invalid Imagedata dictionary
Endpoints only accept data, not URLs or local paths. Therefore, if utilities or libraries for automatic conversion are unavailable, you must manually convert and pass the data… * * * Use the Hugging Face **Serverless Inference API** and send the **image bytes** (or base64) to the model URL with a Bearer token. Do not send a local file path. The API endpoint format is: https://api-inference.huggingface.co/models/<MODEL_ID> Example model id: `google/vit-base-patch16-224`. Docs verified 2025-10-15. (Hugging Face) # What the API expects * Auth: `Authorization: Bearer hf_...` using a fine-grained user token. (Hugging Face) * Payloads for image tasks: * **Raw bytes** body with `Content-Type: image/jpeg` (or png, webp). * **JSON** body with `"inputs": "<base64 string>"`. Response for image-classification is an array of `{label, score}`. Docs updated format shown in the Image Classification API spec. Verified 2025-10-15. (Hugging Face) * Cold start: first call can return **503** while the model loads. Retry. (Hugging Face) # cURL quick tests Binary bytes (recommended): # Ref: https://huggingface.co/docs/inference-endpoints/supported_tasks (binary example also applies) # https://huggingface.co/learn/cookbook/enterprise_hub_serverless_inference_api (endpoint format) /usr/bin/curl -sS \ -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: image/jpeg" \ --data-binary "@/path/to/local.jpg" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" JSON base64: # Ref: https://huggingface.co/docs/inference-providers/en/tasks/image-classification b64=$(base64 -w0 </path/to/local.jpg) curl -sS -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: application/json" \ -d "{”inputs”:”$b64”}" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" The Inference Providers spec explicitly allows base64 or raw bytes, and returns `{label, score}` objects. (Hugging Face) HF’s supported-tasks reference shows the exact `--data-binary` pattern for images. (Hugging Face) # Android (OkHttp) — send local image bytes // Ref: // - API URL shape + 503 note: https://huggingface.co/learn/cookbook/enterprise_hub_serverless_inference_api // - Payload options + response schema: https://huggingface.co/docs/inference-providers/en/tasks/image-classification // - InferenceClient accepts bytes/paths/URLs for images: https://huggingface.co/docs/huggingface_hub/en/package_reference/inference_client import android.content.Context import android.net.Uri import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody fun classifyLocalImage( context: Context, contentUri: Uri, hfToken: String, modelUrl: String = "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" ): String { val bytes = context.contentResolver.openInputStream(contentUri)!!.use { it.readBytes() } val body = bytes.toRequestBody("image/jpeg".toMediaType()) // set correct type if PNG/WebP val req = Request.Builder() .url(modelUrl) .addHeader("Authorization", "Bearer $hfToken") .addHeader("Content-Type", "image/jpeg") .post(body) .build() OkHttpClient().newCall(req).execute().use { resp -> if (!resp.isSuccessful) error("HTTP ${resp.code}: ${resp.body?.string()}") return resp.body!!.string() // e.g., [{"label":"tabby","score":0.99}, ...] } } Alternative: JSON base64 from Android import android.util.Base64 import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody fun classifyLocalImageAsJson( context: Context, contentUri: Uri, hfToken: String, modelUrl: String ): String { val bytes = context.contentResolver.openInputStream(contentUri)!!.use { it.readBytes() } val b64 = Base64.encodeToString(bytes, Base64.NO_WRAP) // avoid newlines val json = """{"inputs":"$b64"}""" val body = json.toRequestBody("application/json".toMediaType()) val req = Request.Builder() .url(modelUrl) .addHeader("Authorization", "Bearer $hfToken") .post(body) .build() OkHttpClient().newCall(req).execute().use { resp -> if (!resp.isSuccessful) error("HTTP ${resp.code}: ${resp.body?.string()}") return resp.body!!.string() } } # Minimal checklist 1. Build the URL: `https://api-inference.huggingface.co/models/<MODEL_ID>`. (Hugging Face) 2. Add `Authorization: Bearer <HF_TOKEN>`. Use a fine-grained token. (Hugging Face) 3. Send **bytes** with `Content-Type: image/<ext>` or send **JSON** with `"inputs": "<base64>"`. (Hugging Face) 4. Handle `503` by retrying. Handle `429` by backing off. Rate limits for free users are a few hundred requests per hour; PRO increases limits. (Hugging Face) 5. Expect image-classification output as `{"label": "...","score": ...}, ...]`. ([Hugging Face) # Common mistakes * Sending a **file path** string. The server cannot read client files. Send bytes or base64. (Hugging Face) * Wrong `Content-Type`. Match your actual image type, or use `application/octet-stream`. (Hugging Face) * Newlines in base64. Use no-wrap encoding on mobile to avoid bad JSON. * Assuming JSON is required. Raw image bytes are accepted when you do not pass `parameters`. (Hugging Face) # Short examples to copy cURL, JPEG bytes: # https://huggingface.co/docs/inference-endpoints/supported_tasks curl -sS -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: image/jpeg" \ --data-binary "@local.jpg" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" cURL, JSON base64: # https://huggingface.co/docs/inference-providers/en/tasks/image-classification b64=$(base64 -w0 < local.jpg) curl -sS -X POST \ -H "Authorization: Bearer $HF_TOKEN" \ -H "Content-Type: application/json" \ -d "{”inputs”:”$b64”}" \ "https://api-inference.huggingface.co/models/google/vit-base-patch16-224" # Supplemental references * **Serverless Inference API cookbook.** Endpoint format, auth, rate limits, cold-start behavior. Updated frequently. Checked 2025-10-15. (Hugging Face) * **Image Classification API spec.** Exact request shapes. Base64 vs raw bytes. Response schema. Checked 2025-10-15. (Hugging Face) * **Supported tasks reference.** Shows concrete `--data-binary` image examples. Useful when crafting raw HTTP calls. Checked 2025-10-15. (Hugging Face) * **User access tokens.** Bearer token usage and management. Checked 2025-10-15. (Hugging Face)
discuss.huggingface.co
October 14, 2025 at 11:59 PM
This analysis of last years Google data leak is fascinating: #Google uses Neural Image Assessment to algorithmically score subjective aspects like beauty & composition.

Finally my "no uggos on the website" line in all those #SEO audits receives justification.

www.hobo-web.co.uk/the-definiti...
The Definitive Guide To Image SEO: Google Content Warehouse ImageData Schema Analysis - Hobo
"Go inside Google's leaked ImageData schema. Shaun Anderson reveals the real ranking signals for images, from NIMA quality scores to entity associations. Level up your SEO."
www.hobo-web.co.uk
October 8, 2025 at 3:34 PM
🚀 Google’s ImageData leak reveals the future of Image SEO:

🏷️ Originality wins.
🎨 AI scores aesthetics.
🖱️ Click quality > click quantity.
🌐 Entity linking boosts relevance.
www.hobo-web.co.uk
October 7, 2025 at 7:23 PM