From 7660a3a913eb0bc6c6cedc63704c4bbf45dd5524 Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Sun, 19 Jan 2025 11:38:03 -0600 Subject: [PATCH 01/11] add blog post about kerchunk --- images/blog/kerchunk/kerchunk_image.png | Bin 0 -> 350916 bytes src/content/blog/kerchunk.md | 333 ++++++++++++++++++++++++ 2 files changed, 333 insertions(+) create mode 100644 images/blog/kerchunk/kerchunk_image.png create mode 100644 src/content/blog/kerchunk.md diff --git a/images/blog/kerchunk/kerchunk_image.png b/images/blog/kerchunk/kerchunk_image.png new file mode 100644 index 0000000000000000000000000000000000000000..e93b7339ed6824b5bf1367e74105b540966e1e08 GIT binary patch literal 350916 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

C!>&mI$E5e?Kj2 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 >kVk@(fvo1P~Z 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

W%|b1&gmgbe=xxl!mpsj3i{4Z~yn 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 TX-Bdie)CjCog6;Fl+u3y(SuvT literal 0 HcmV?d00001 diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md new file mode 100644 index 0000000..5d97b11 --- /dev/null +++ b/src/content/blog/kerchunk.md @@ -0,0 +1,333 @@ +--- +title: "The Data Standardization Dilemma: Format vs. API" +date: "2024-01-18" +description: "An exploration of different approaches to data standardization in scientific computing, with a focus on the Kerchunk solution for efficient data access" +readTime: "15 min" +image: "/images/blog/kerchunk/kerchunk_image.png" +keywords: [ + "data standardization", + "scientific computing", + "kerchunk", + "zarr", + "data formats", + "API design", + "cloud computing" +] +--- + +Scientific data standardization is fundamental to modern research. As experiments and instruments grow more sophisticated, they generate increasingly complex and voluminous data. Without standardization, valuable research data remains siloed in proprietary formats, trapped on specific computers, or accessible only through particular software tools. This fragmentation impedes collaboration, complicates reproducibility, and ultimately slows scientific progress. When researchers can't easily share and access each other's data, they waste time on data conversion and format issues rather than scientific discovery. Moreover, as scientific workflows increasingly leverage cloud computing and artificial intelligence, the need for standardized, machine-readable data formats becomes even more critical. + +The field of neurophysiology exemplifies these challenges. Consider a typical modern neuroscience lab: they might use Neuropixels probes for electrophysiology, two-photon microscopes for calcium imaging, and high-speed cameras for behavioral recording. Each instrument comes with its own proprietary software and data formats. The Neuropixels data might be saved in a custom binary format with a separate metadata file, the calcium imaging data in a proprietary microscope format, and the behavioral data as a series of video files in various encodings. +When researchers try to share this data or reproduce analyses, they face numerous obstacles: +* Proprietary formats that require specific software licenses to access +* Raw binary files with undocumented structures +* Missing or inconsistent metadata about experimental conditions +* Data spread across multiple files with unclear relationships +* Format-specific tools that only work on certain operating systems +* Complex data dependencies that make cloud computing difficult + +These challenges become even more acute when attempting to combine data across labs or perform large-scale meta-analyses. For instance, a researcher might want to compare neural responses across different studies, but find that each dataset uses different conventions for marking experimental events, different units for neural signals, and different coordinate systems for electrode positions. What should be a straightforward scientific comparison becomes a complex data engineering project. + +Furthermore, the rise of new analysis techniques, particularly in machine learning, requires standardized, well-structured datasets. Training models across multiple datasets becomes nearly impossible when each dataset uses different conventions and formats. This is particularly problematic in neuroscience, where understanding complex neural systems often requires integrating data across multiple experiments, modalities, and scales. + +In the world of scientific data management, we face a fundamental choice in how we approach standardization: Should we standardize the data format itself, or should we standardize the interface (API) through which we access the data? Both approaches have significant trade-offs that deserve careful consideration. + +## The Format Standardization Approach + +Converting data to a standard format is perhaps the most straightforward approach to standardization. In principle, once data is converted to a common format, any tool that understands this format can work with the data. This approach offers crucial advantages when dealing with problematic data formats: it can resolve issues with inefficient storage structures, augment deficient metadata, and most importantly, liberate data from proprietary software or specific computing environments. This liberation from vendor lock-in and platform dependence is particularly valuable in scientific research, where long-term accessibility and reproducibility are essential. + +Moreover, modern storage backends like HDF5 and Zarr provide powerful capabilities that can actually improve data accessibility and efficiency. These formats support features like chunking and compression, enabling sophisticated data engineering techniques that can significantly reduce storage requirements while maintaining data integrity. Such features are particularly valuable in cloud computing environments, where data layout and access patterns can dramatically impact both performance and cost. By converting to these modern formats, we're not just standardizing – we're often optimizing the data for contemporary computing paradigms. + +In neuroscience, two major format standardization efforts exemplify this approach: Neurodata Without Borders (NWB) and Brain Imaging Data Structure (BIDS). NWB originally used HDF5 as its storage backend to standardize neurophysiology data, providing a comprehensive schema for everything from electrode recordings to optical imaging. Recently, NWB added support for Zarr as a second backend, recognizing the growing importance of cloud-native storage formats in modern neuroscience workflows. BIDS takes a different approach, standardizing file organization and metadata while maintaining raw data in common neuroimaging formats. Both standards have gained significant adoption in their respective communities, demonstrating the value of format standardization. However, they also illustrate the challenges: NWB users must convert their data to HDF5 or Zarr, while BIDS requires careful organization of files and extensive metadata curation. These requirements can create significant overhead for labs, especially when dealing with ongoing experiments or legacy data. + +Importantly, BIDS's approach of standardizing metadata and file organization while preserving raw data formats is only viable because the neuroimaging community had already undertaken extensive format standardization efforts. Formats like DICOM for medical imaging and NiFTI for neuroimaging data are themselves standards, with well-defined specifications for both data and metadata. This prior standardization work means that BIDS can focus on higher-level organization and metadata without needing to address fundamental data format issues. In contrast, many areas of neurophysiology lack such standardized base formats, which is why NWB needs to take a more comprehensive approach that includes standardizing the underlying data format. + +However, this approach still comes with substantial practical challenges: + +First, the conversion process itself can be resource-intensive. It requires significant computational power and time, especially when dealing with large datasets. This environmental and computational cost isn't just a one-time expense – it's incurred every time new data needs to be standardized, and may also need to be repeated if the standard changes. + +Storage requirements present another challenge. While maintaining data in a standard format should theoretically eliminate the need for the original files, practical considerations often necessitate keeping both versions. Scientists may need to preserve original data for verification purposes, or they might worry about potential loss of information during conversion. This effectively doubles the storage requirements, a significant concern when dealing with the increasingly large datasets common in modern research. + +Perhaps most critically, format conversion risks losing essential metadata or subtle aspects of the data that weren't anticipated in the standard format's design. Even with carefully designed standards, it's challenging to ensure that all relevant information is properly captured and translated. + +## The API Standardization Approach + +Given these challenges, it's tempting to pursue an alternative: standardizing the API rather than the data format. This approach allows data to remain in its native format while providing a unified interface for accessing it. At first glance, this seems to solve the resource utilization problems of format standardization. + +The neuroscience community has seen several notable attempts at API standardization. The Neo project pioneered this approach for electrophysiology data, providing a Python API that can read various proprietary and open formats into a common object model. This allows analysis code to work with data regardless of its source format, as long as Neo supports reading that format. The International Brain Lab (IBL) took a similar approach with their Open Neurophysiology Environment (ONE), creating a standardized API for accessing neurophysiology data that abstracts away the underlying storage details. More recently, the Neuroscience Data Interface (NDI) project has attempted to create a comprehensive API for accessing and analyzing neurophysiology data, incorporating lessons learned from previous efforts. + +One significant advantage of the API approach is its preservation of metadata. Since the original files are maintained in their native format, no metadata is lost during standardization. Even if the standardized API doesn't explicitly support certain metadata fields, this information remains accessible in the source files through custom access methods. This is particularly valuable in experimental science, where seemingly minor metadata might later prove crucial for analysis or reproducibility. + +However, API standardization introduces several significant limitations. First and foremost is programming language lock-in. When you standardize at the API level, you inevitably tie yourself to a specific programming language ecosystem. For instance, Neo's Python-based API is elegant and efficient, but creates barriers for researchers who work in MATLAB, Julia, R, or other languages. The IBL's ONE protocol, and NDI, while well-designed, faces similar language constraints. Supporting a new programming language isn't just a matter of creating language bindings – it often requires completely reimplementing the interfaces for each supported data format from scratch. This represents a significant duplication of effort and increases the maintenance burden for the scientific community. + +Critically, the API approach doesn't address fundamental limitations of the source data formats themselves. If the original data is stored inefficiently, an API can't magically make it more efficient. If the data requires proprietary software or specific computing environments to be read (such as Windows-specific DLLs), the API approach simply inherits these limitations. You're essentially building a standardized interface on top of a potentially unstable or restrictive foundation. + +While there are tools for bridging between programming languages, these solutions are often unreliable or introduce their own complexities. They may work for simple cases but frequently break down when dealing with complex data structures or when performance is critical. This language barrier effectively fragments the research community along technological lines. + +This fragmentation has serious implications for scientific progress. When researchers are locked into specific programming environments, it becomes harder to adopt new analytical tools and techniques. Innovation in data analysis often comes from new programming languages or frameworks, and language lock-in can significantly delay the adoption of these advances. + +## A Hybrid Solution: Kerchunk-Based Data Standardization + +What if we could keep our original data files but still provide standardized access across programming languages? This isn't just a hypothetical question – it's becoming possible through an emerging approach that combines the best of both worlds. The key insight is that we can create a kind of "map" of our data files, describing their contents in a standardized way without actually moving or converting the data itself. + +These descriptions use the Zarr format specification as a common language, leveraging its growing support across the scientific computing ecosystem. A crucial advantage of this approach is how it simplifies adding support for new programming languages. Rather than implementing separate readers for each data format in each language, developers only need to implement the logic to parse these standardized JSON descriptions and follow their instructions for reading the data. Once this is done, their implementation automatically works with any data format that has been described in this way. + +This cross-language compatibility is further enhanced by the use of JSON for the descriptions themselves. While one research group might use Python to create these data descriptions, another group could read them from MATLAB, and a third from Julia. The descriptions themselves are language-agnostic, serving as a universal blueprint for accessing the data. + +This approach scales naturally with the complexity of your data. For simple files – like raw recordings from an electrode – the description might just say "start reading here, and this is how the numbers are stored." For more complex data, like multi-dimensional imaging data split across many files, the description can include sophisticated details about how different pieces fit together, how they might be compressed, and how to efficiently access specific portions of the data. + +The beauty of this approach is its flexibility. Research groups can start simple, just describing where their data lives and how to read it. As their needs grow – perhaps they want to optimize for cloud storage or add complex compression – the same framework scales up to handle these advanced use cases. And importantly, this all happens without touching the original data files. + +### Enter Kerchunk: Making Virtual Datasets Real + +While this idea of creating standardized data maps is powerful in theory, we need practical tools to make it work. This is where Kerchunk comes in. Originally developed to help scientists work with large climate datasets, Kerchunk has emerged as a powerful tool for creating these virtual data mappings. + +Kerchunk is particularly notable for its ability to work with HDF5 files – a format commonly used in scientific data storage. It can analyze an HDF5 file and create a detailed JSON description of its contents, effectively creating a virtual Zarr dataset that points back to the original HDF5 file. This is powerful because it means you can use any Zarr-compatible tool to work with HDF5 data without actually converting the data. Even more significantly, once Kerchunk has created these mappings, you no longer need to rely on the HDF5 library (h5lib) to read your data. Instead, you can use more modern, cloud-native data access libraries that are better suited to contemporary computing environments. This liberation from the HDF5 ecosystem can be particularly valuable when working with cloud storage or distributed computing systems. + +The "virtual" nature of these datasets is key. When Kerchunk creates a mapping, it's not copying any of the actual data – it's just creating a set of instructions for how to read it. These instructions follow the Zarr specification, which means any tool that knows how to read Zarr data can now read your original data, regardless of its native format. This is particularly valuable in cloud computing environments, where you might want to access specific portions of large datasets without downloading entire files. + +For example, imagine you have a large collection of HDF5 files containing neural recording data. Rather than converting all these files to Zarr (which would double your storage requirements), you can use Kerchunk to create virtual Zarr datasets. These virtual datasets can then be read efficiently from any programming language with Zarr support, with the actual data being read directly from the original HDF5 files only when needed. + +When Virtual Isn't Enough: The Case for Physical Data Conversion +While the virtual dataset approach is powerful, it's not a universal solution. Some data formats present challenges that can't be solved through virtual mapping alone. For instance, some proprietary formats may require specialized software libraries to read, making it impossible to describe their data layout in a simple JSON mapping. Others might store data in ways that are fundamentally inefficient or incompatible with modern computing needs – like storing what should be a single large array as thousands of tiny files, or using compression formats that don't support random access. +In these cases, we still need to bite the bullet and convert the data into a more suitable format. The good news is that we can be strategic about when we do this. The decision to convert data can be based on clear criteria: + +* Does the format require proprietary software to read? +* Is the data layout fundamentally inefficient for common access patterns? +* Would cloud storage and access be prohibitively expensive or slow with the current format? +* Does the format lack support for crucial features like random access or parallel reading? + +When these issues arise, converting to a well-designed format like Zarr becomes the pragmatic choice, despite the overhead. The key is making this decision deliberately, based on concrete needs, rather than converting everything by default. This hybrid approach – using virtual datasets where possible and physical conversion where necessary – gives us the best of both worlds. + +### How It Works + +Rather than creating new JSON schemas, we use Kerchunk to generate references that map existing data files into the Zarr format. Kerchunk creates JSON files that describe: +- The location of data chunks +- Array shapes and data types +- Compression settings (when present) +- References to the original data bytes + +This mapping allows any Zarr-compatible tool to treat the original data as if it were a Zarr array, without actually converting the data. + +### Implementation Levels + +The system naturally supports different levels of complexity: + +#### Level 1: Basic Arrays +For simple, contiguous data files, Kerchunk can create straightforward mappings that specify: +- Byte offsets into the original file +- Array shapes and data types +- Basic chunking information + +#### Level 2: Chunked Data +For more complex formats, Kerchunk can describe: +- Explicit chunk locations +- Multi-file datasets +- More sophisticated indexing schemes + +#### Level 3: Advanced Features +For formats like HDF5 that already support compression and complex chunking: +- Compression specifications +- Hierarchical data structures +- Complex chunk organizations + +## Practical Applications and Ecosystem + +### Example Use Cases + +#### 1. Large Electrophysiology Recordings +Consider a lab collecting high-density electrode recordings stored in flat binary files: +```python +# Kerchunk reference might look like: +{ + "version": 1, + "refs": { + "voltage_data/.zarray": { + "shape": [3600000, 384], # 1 hour @ 1kHz, 384 channels + "chunks": [60000, 384], # 1-minute chunks + "dtype": " Date: Sun, 19 Jan 2025 11:41:17 -0600 Subject: [PATCH 02/11] feat: add section on LINDI and advanced data structures to Kerchunk blog post --- src/content/blog/kerchunk.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 5d97b11..e6e7b42 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -88,8 +88,21 @@ The "virtual" nature of these datasets is key. When Kerchunk creates a mapping, For example, imagine you have a large collection of HDF5 files containing neural recording data. Rather than converting all these files to Zarr (which would double your storage requirements), you can use Kerchunk to create virtual Zarr datasets. These virtual datasets can then be read efficiently from any programming language with Zarr support, with the actual data being read directly from the original HDF5 files only when needed. -When Virtual Isn't Enough: The Case for Physical Data Conversion +Let me add a section about LINDI and its extensions to the Kerchunk approach: + +### Beyond Basic Mapping: LINDI and Advanced Data Structures + +While Kerchunk provides an excellent foundation for virtual datasets, some data formats include features that don't map cleanly to the Zarr specification. HDF5, for instance, supports sophisticated data organization features like links and references that have no direct equivalent in Zarr. This is where LINDI (LiNked Data Interface) comes in. + +LINDI extends the Kerchunk approach by adding support for these more complex data structures. It maintains the core idea of creating virtual mappings but expands the specification to handle HDF5 links and references. This is particularly important for scientific datasets where these features are used to represent relationships between different parts of the data – like linking an electrode's recording data to its position information, or connecting spike times to the original voltage traces that produced them. + +By supporting these more sophisticated data structures, LINDI makes it possible to create virtual mappings for a broader range of HDF5 files without losing important structural information. This is crucial for formats like NWB (Neurodata Without Borders) that make extensive use of HDF5's linking capabilities to organize complex experimental data. + + +### When Virtual Isn't Enough: The Case for Physical Data Conversion + While the virtual dataset approach is powerful, it's not a universal solution. Some data formats present challenges that can't be solved through virtual mapping alone. For instance, some proprietary formats may require specialized software libraries to read, making it impossible to describe their data layout in a simple JSON mapping. Others might store data in ways that are fundamentally inefficient or incompatible with modern computing needs – like storing what should be a single large array as thousands of tiny files, or using compression formats that don't support random access. + In these cases, we still need to bite the bullet and convert the data into a more suitable format. The good news is that we can be strategic about when we do this. The decision to convert data can be based on clear criteria: * Does the format require proprietary software to read? From 25fc0e309f339e64858125b6dce258621773e6fb Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Sun, 19 Jan 2025 12:10:17 -0600 Subject: [PATCH 03/11] feat: update blog post title and enhance content on virtual data standards and LINDI integration --- src/content/blog/kerchunk.md | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index e6e7b42..2570a7a 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -1,5 +1,5 @@ --- -title: "The Data Standardization Dilemma: Format vs. API" +title: "Virtual Data Standards: A New Path Forward for Scientific Data" date: "2024-01-18" description: "An exploration of different approaches to data standardization in scientific computing, with a focus on the Kerchunk solution for efficient data access" readTime: "15 min" @@ -88,7 +88,20 @@ The "virtual" nature of these datasets is key. When Kerchunk creates a mapping, For example, imagine you have a large collection of HDF5 files containing neural recording data. Rather than converting all these files to Zarr (which would double your storage requirements), you can use Kerchunk to create virtual Zarr datasets. These virtual datasets can then be read efficiently from any programming language with Zarr support, with the actual data being read directly from the original HDF5 files only when needed. -Let me add a section about LINDI and its extensions to the Kerchunk approach: +One of the elegant aspects of the Kerchunk approach is its flexibility in how it handles different types of data. While its primary purpose is to create mappings to external data, it can also directly store smaller pieces of data within the JSON file itself. Small attributes can be encoded directly in the mapping file, eliminating the need for external references. Small datasets can also be included in the mapping file using base64 encoding. + +Instead of creating references to tiny external files, which could be inefficient to access, this information becomes immediately available when the JSON mapping is loaded. For example, channel labels, time stamps, or experimental parameters can be stored directly in the mapping file, while the large raw data arrays remain as references to the original files. This flexibility helps optimize performance – frequently accessed small data is immediately available, while large data chunks are accessed only when needed. It's another example of how the virtual dataset approach can adapt to different needs and usage patterns. + +### Additional Benefits of Virtual Dataset Mapping + +While our focus has been on standardization and cross-language accessibility, the virtual dataset approach enables several other powerful capabilities worth noting. By separating data description from the data itself, we can: + +- Update and adjust metadata without modifying large data files +- Create explicit links between processed data and raw data sources without altering original files +- Form collections of data objects from different datasets and link them together in sophisticated ways +- Feed data efficiently into modern visualization and analysis tools + +These capabilities are already being put to use in real-world applications like Neurosift, a web-based visualization platform for neurophysiology data. While a full exploration of these features is beyond the scope of this discussion, they represent important additional benefits of this approach to data standardization. ### Beyond Basic Mapping: LINDI and Advanced Data Structures @@ -98,6 +111,21 @@ LINDI extends the Kerchunk approach by adding support for these more complex dat By supporting these more sophisticated data structures, LINDI makes it possible to create virtual mappings for a broader range of HDF5 files without losing important structural information. This is crucial for formats like NWB (Neurodata Without Borders) that make extensive use of HDF5's linking capabilities to organize complex experimental data. +### The MATLAB Challenge and Opportunity + +A significant gap in the current ecosystem is MATLAB support. Despite MATLAB's widespread use in neuroscience and other scientific fields, there is currently no MATLAB implementation of the Zarr specification. This means that MATLAB users cannot yet take advantage of these virtual dataset approaches – a limitation that affects a large portion of the scientific community. + +However, this gap also presents an opportunity. Creating a MATLAB Zarr implementation would immediately unlock access to a vast ecosystem of data through these virtual mappings. This is particularly interesting when we consider MATLAB's own file formats. Modern MATLAB (.mat) files actually use HDF5 as their underlying storage format. This means that, once implemented, MATLAB users could use the virtual dataset approach to efficiently access MATLAB files in cloud storage without having to download entire files – something that's currently challenging with traditional MATLAB file access methods. + +The path forward is clear, though non-trivial: the MATLAB scientific computing community needs a robust Zarr implementation. While this requires significant development effort, the payoff would be substantial – not just for accessing virtual datasets, but for bringing MATLAB users into the broader ecosystem of modern, cloud-native scientific data tools. + +### Modernizing Legacy Tools: Neo's Virtual Dataset Evolution + +We're currently leading an effort to bring virtual dataset capabilities to Neo, the popular Python library for handling neurophysiology data. Neo has long served the neuroscience community by providing a common interface to various data formats, but like many API-based solutions, it faces the language lock-in challenges we discussed earlier. + +Our project aims to enhance Neo with the ability to generate these virtual dataset descriptions. Rather than just reading data into Python objects, Neo will create standardized JSON mappings that describe how to access the underlying data. This is a powerful evolution: instead of Neo's format support being useful only to Python users, its deep knowledge of various neurophysiology file formats will be leveraged by any programming language that can read these virtual datasets. + +This represents a fundamental shift in how we think about scientific data tools. Rather than trying to make Neo a universal translator, we're transforming it into more of a cartographer, creating maps that anyone can follow regardless of their preferred programming language. ### When Virtual Isn't Enough: The Case for Physical Data Conversion From a389b73bb65284b032794aaa4ea50066bd452f44 Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Mon, 20 Jan 2025 08:53:21 -0600 Subject: [PATCH 04/11] feat: enhance Kerchunk blog post with new sections on Xarray, virtual NWB files, and BIDS support --- src/content/blog/kerchunk.md | 44 ++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 2570a7a..10601bc 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -11,7 +11,9 @@ keywords: [ "zarr", "data formats", "API design", - "cloud computing" + "cloud computing", + "NWB", + "BIDS" ] --- @@ -92,6 +94,14 @@ One of the elegant aspects of the Kerchunk approach is its flexibility in how it Instead of creating references to tiny external files, which could be inefficient to access, this information becomes immediately available when the JSON mapping is loaded. For example, channel labels, time stamps, or experimental parameters can be stored directly in the mapping file, while the large raw data arrays remain as references to the original files. This flexibility helps optimize performance – frequently accessed small data is immediately available, while large data chunks are accessed only when needed. It's another example of how the virtual dataset approach can adapt to different needs and usage patterns. +### Adding Meaning with Xarray + +While virtual datasets solve the technical problem of data access, we still need to add semantic meaning to our data. This is where Xarray becomes a powerful complement to our approach. Xarray allows us to label the dimensions and coordinates of our data arrays, add units and other metadata, and work with the data in a more scientifically meaningful way. + +For neurophysiology data, this becomes particularly powerful. A raw array of numbers from an electrode recording becomes much more useful when we can label its dimensions as 'time' and 'channel', associate proper units like 'seconds' and 'microvolts', and attach important metadata like sampling rate or electrode positions. With behavioral data, we might label dimensions as 'frame', 'x', and 'y', with coordinates in meaningful spatial units and timestamps for each frame. + +The combination is particularly elegant because these Xarray annotations can be stored directly in the virtual dataset description. Small coordinate arrays and metadata can be encoded directly in the JSON file, while larger coordinate arrays (like timestamps for long recordings) can be referenced just like the main data. This gives us a complete description of not just how to access the data, but what that data represents. + ### Additional Benefits of Virtual Dataset Mapping While our focus has been on standardization and cross-language accessibility, the virtual dataset approach enables several other powerful capabilities worth noting. By separating data description from the data itself, we can: @@ -103,6 +113,16 @@ While our focus has been on standardization and cross-language accessibility, th These capabilities are already being put to use in real-world applications like Neurosift, a web-based visualization platform for neurophysiology data. While a full exploration of these features is beyond the scope of this discussion, they represent important additional benefits of this approach to data standardization. +### Complementing Existing APIs + +While we've discussed some limitations of API-based standardization, it's important to note that the virtual dataset approach isn't meant to replace existing APIs like Neo, NDI, or ONE. Instead, it can complement and enhance them. Decades of development have gone into creating sophisticated analysis, visualization, and data management tools around these APIs, representing an invaluable ecosystem for neuroscience research. + +The virtual dataset approach can coexist seamlessly with these API-based tools in two ways. First, since this approach doesn't require modifying the original data files, existing APIs can continue to access the data exactly as they do now. There's no need to choose between approaches – researchers can use both simultaneously, selecting the most appropriate tool for each specific task. + +Second, and perhaps more interestingly, these APIs could be enhanced to support reading from virtual dataset descriptions. By implementing Kerchunk-compatible readers, APIs like Neo could automatically gain support for any data format that has been mapped using this approach. This would actually expand the reach of these APIs, allowing them to support new data formats without requiring format-specific implementation work. + +This kind of integration could offer the best of both worlds: the language-agnostic accessibility of virtual datasets combined with the sophisticated processing and analysis capabilities of existing APIs. Rather than forcing a choice between approaches, we can build bridges between them, making our data more accessible while preserving access to the rich ecosystem of existing tools. + ### Beyond Basic Mapping: LINDI and Advanced Data Structures While Kerchunk provides an excellent foundation for virtual datasets, some data formats include features that don't map cleanly to the Zarr specification. HDF5, for instance, supports sophisticated data organization features like links and references that have no direct equivalent in Zarr. This is where LINDI (LiNked Data Interface) comes in. @@ -111,6 +131,20 @@ LINDI extends the Kerchunk approach by adding support for these more complex dat By supporting these more sophisticated data structures, LINDI makes it possible to create virtual mappings for a broader range of HDF5 files without losing important structural information. This is crucial for formats like NWB (Neurodata Without Borders) that make extensive use of HDF5's linking capabilities to organize complex experimental data. +### Virtual NWB files + +One compelling application of this approach is the ability to create virtual NWB (Neurodata Without Borders) files. NWB is a sophisticated standard that uses HDF5's linking capabilities extensively to organize complex neurophysiology data. Using LINDI, we can create virtual NWB files that maintain all the standard's organizational structure and metadata requirements while pointing to data that lives in its original location and format. This means researchers can make their data "NWB-compliant" without actually converting terabytes of raw data into new files. The virtual NWB file serves as a standardized view of the data, complete with all the required metadata and organizational structure, while the underlying data remains untouched. This approach could significantly lower the barrier to adopting the NWB standard, especially for labs with large existing datasets or ongoing experiments. + +However, there is an important trade-off to consider: data accessed through these virtual NWB files won't benefit from the performance advantages of chunking and compression that come with native NWB files. For data archives like DANDI, this could be addressed by creating optimized, chunked, and compressed versions of the data on the server side. This would allow users to access the data efficiently while still maintaining the original files for reference and verification. The virtual NWB files could then be updated to point to these optimized versions when accessing data through the archive. + +### Extending BIDS: Supporting New Data Types + +This virtual dataset approach could also help expand the Brain Imaging Data Structure (BIDS) standard to support new types of data. Currently, BIDS works well for established neuroimaging formats like NIfTI and DICOM because these formats are already well-standardized. However, when researchers want to include new types of data in their BIDS datasets – like novel imaging techniques or custom electrophysiology recordings – they face challenges because BIDS hasn't yet standardized these formats. + +A particularly relevant application would be behavioral and physiological data. Modern neuroscience increasingly relies on sophisticated behavioral tracking – from simple video recordings to complex multi-camera setups, depth sensors, and automated tracking systems. Each of these might store data differently: pose estimation as CSV or HDF5 files, or raw video in various formats. Similarly, physiological measurements like heart rate, respiration, temperature, or eye tracking often come from different devices with their own proprietary formats. Using virtual dataset mappings, researchers could make all these diverse data types accessible through a common interface while maintaining the original files. This would allow BIDS to support the growing diversity of behavioral and physiological measurements without requiring researchers to convert their data to new formats. + +More broadly, using virtual dataset mappings, we could extend BIDS support to these new data types without waiting for format standardization. Researchers could maintain their data in its original format while providing standardized JSON descriptions that detail how to read it. These descriptions could live alongside the traditional BIDS metadata files, maintaining BIDS's familiar organization while making the data accessible through standard tools. This would allow the BIDS community to experiment with supporting new data types before committing to specific format requirements. + ### The MATLAB Challenge and Opportunity A significant gap in the current ecosystem is MATLAB support. Despite MATLAB's widespread use in neuroscience and other scientific fields, there is currently no MATLAB implementation of the Zarr specification. This means that MATLAB users cannot yet take advantage of these virtual dataset approaches – a limitation that affects a large portion of the scientific community. @@ -140,7 +174,13 @@ In these cases, we still need to bite the bullet and convert the data into a mor When these issues arise, converting to a well-designed format like Zarr becomes the pragmatic choice, despite the overhead. The key is making this decision deliberately, based on concrete needs, rather than converting everything by default. This hybrid approach – using virtual datasets where possible and physical conversion where necessary – gives us the best of both worlds. -### How It Works +### Technical limitation: zarr-python support for unchunked arrays + +A significant limitation in the current zarr-python implementation concerns its handling of unchunked datasets. Unlike HDF5, which can efficiently read arbitrary regions from contiguous data files, Zarr lacks native support for partial reads of unchunked data. For formats like SpikeGLX, which stores neural recordings as large, contiguous binary files, this becomes particularly problematic. Accessing even a small time window of neural data might require reading much more data than necessary, significantly impacting performance and resource usage. This issue is especially relevant for electrophysiology data, where researchers often need to access specific time segments of recordings that can be many hundreds of gigabytes in total size. + +This limitation creates a difficult choice: either accept the performance penalties of inefficient reads, or chunk the data and potentially double storage requirements. While chunking can optimize certain access patterns, it adds complexity and storage overhead that might not be justified for simple, flat binary files. Moreover, the original unchunked files often need to be maintained for compatibility with existing tools and workflows. + +# How It Works Rather than creating new JSON schemas, we use Kerchunk to generate references that map existing data files into the Zarr format. Kerchunk creates JSON files that describe: - The location of data chunks From 0a7a58a84f98b225873d89a1b6c1b1cf97de78ab Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Mon, 20 Jan 2025 08:58:47 -0600 Subject: [PATCH 05/11] feat: add explanation of virtual datasets using Kerchunk and LINDI for NWB files --- src/content/blog/kerchunk.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 10601bc..4765861 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -137,6 +137,8 @@ One compelling application of this approach is the ability to create virtual NWB However, there is an important trade-off to consider: data accessed through these virtual NWB files won't benefit from the performance advantages of chunking and compression that come with native NWB files. For data archives like DANDI, this could be addressed by creating optimized, chunked, and compressed versions of the data on the server side. This would allow users to access the data efficiently while still maintaining the original files for reference and verification. The virtual NWB files could then be updated to point to these optimized versions when accessing data through the archive. +The approach works in the other direction as well. Tools like Neurosift use Kerchunk and LINDI to read from existing NWB files, creating virtual datasets that map to the internal data arrays within NWB files. This enables efficient, cloud-friendly access to NWB data without requiring specialized HDF5 libraries. By converting NWB's complex internal structure into simple Zarr-compatible maps, tools can access just the specific data they need without having to understand the full NWB specification. + ### Extending BIDS: Supporting New Data Types This virtual dataset approach could also help expand the Brain Imaging Data Structure (BIDS) standard to support new types of data. Currently, BIDS works well for established neuroimaging formats like NIfTI and DICOM because these formats are already well-standardized. However, when researchers want to include new types of data in their BIDS datasets – like novel imaging techniques or custom electrophysiology recordings – they face challenges because BIDS hasn't yet standardized these formats. From ec9ef2be757de0b4c3c954d08e7d86538885def7 Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Mon, 20 Jan 2025 12:33:54 -0600 Subject: [PATCH 06/11] feat: update Kerchunk blog post with new example for ap_band data structure and attributes --- src/content/blog/kerchunk.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 4765861..5904b5e 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -225,18 +225,23 @@ Consider a lab collecting high-density electrode recordings stored in flat binar { "version": 1, "refs": { - "voltage_data/.zarray": { - "shape": [3600000, 384], # 1 hour @ 1kHz, 384 channels - "chunks": [60000, 384], # 1-minute chunks - "dtype": " Date: Mon, 20 Jan 2025 12:35:45 -0600 Subject: [PATCH 07/11] feat: update ap_band data structure format in Kerchunk blog post for clarity --- src/content/blog/kerchunk.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 5904b5e..4b7b3a6 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -237,11 +237,7 @@ Consider a lab collecting high-density electrode recordings stored in flat binar "units": "uV", "scale_factor": 2.34375, # To convert to microvolts }, - "ap_band/0": { - "ref": "myrecording_g0_t0.imec0.ap.bin", - "offset": 0, - "size": 13824000000 # Total file size in bytes - } + "ap_band/0": ["myrecording_g0_t0.imec0.ap.bin", 0, 13824000000] # filename, offset, size } } ``` From ff95b89b2273019f726c3b2efc4b8fd702cf132c Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Mon, 20 Jan 2025 16:43:11 -0600 Subject: [PATCH 08/11] feat: add detailed benefits of Xarray integration in Kerchunk blog post --- src/content/blog/kerchunk.md | 65 ++++++++++++------------------------ 1 file changed, 21 insertions(+), 44 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 4b7b3a6..8b7cfd7 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -102,6 +102,26 @@ For neurophysiology data, this becomes particularly powerful. A raw array of num The combination is particularly elegant because these Xarray annotations can be stored directly in the virtual dataset description. Small coordinate arrays and metadata can be encoded directly in the JSON file, while larger coordinate arrays (like timestamps for long recordings) can be referenced just like the main data. This gives us a complete description of not just how to access the data, but what that data represents. +Benefits of Xarray Integration: + +1. **Self-Describing Data** + - Dimensions have meaningful names + - Units are explicitly specified + - Coordinate systems are defined + - Metadata is machine-readable + +2. **Enhanced Analysis Capabilities** + - Select data by physical coordinates + - Automatic alignment of different datasets + - Unit-aware computations + - Smart broadcasting based on dimensions + +3. **Interoperability** + - Common interface across data types + - Compatible with Dask for parallel computing + - Easy conversion to other formats (NetCDF, etc.) + - Integration with visualization tools + ### Additional Benefits of Virtual Dataset Mapping While our focus has been on standardization and cross-language accessibility, the virtual dataset approach enables several other powerful capabilities worth noting. By separating data description from the data itself, we can: @@ -335,10 +355,6 @@ To make this approach successful, we need: - Performance best practices - Migration tutorials -## Adding Semantic Context with Xarray Integration - -While Kerchunk gives us the physical layout of the data, Xarray integration allows us to add crucial semantic meaning to our datasets. This combination provides both efficient access and rich contextual information about what the data represents. - ### Example: Annotated Electrophysiology Data Here's how we might extend our earlier electrophysiology example with Xarray-compatible metadata: @@ -375,43 +391,4 @@ Here's how we might extend our earlier electrophysiology example with Xarray-com } } } -``` - -### Benefits of Xarray Integration - -1. **Self-Describing Data** - - Dimensions have meaningful names - - Units are explicitly specified - - Coordinate systems are defined - - Metadata is machine-readable - -2. **Enhanced Analysis Capabilities** - - Select data by physical coordinates - - Automatic alignment of different datasets - - Unit-aware computations - - Smart broadcasting based on dimensions - -3. **Interoperability** - - Common interface across data types - - Compatible with Dask for parallel computing - - Easy conversion to other formats (NetCDF, etc.) - - Integration with visualization tools - - -### Current Limitations - -#### Language Support Gaps -- No MATLAB implementation of Zarr exists, which is significant given MATLAB's widespread use in scientific computing -- Limited support in other scientific computing environments - -#### Technical Limitations -- The current zarr-python implementation cannot efficiently read regions of unchunked flat datasets - - Unlike HDF5, which can read arbitrary regions of contiguous data - - Forces users to either chunk their data (increasing complexity and potentially storage) or read more data than necessary - - This is particularly problematic for large, simple binary files where chunking adds unnecessary overhead - -#### Practical Implications -These limitations mean that: -1. For simple flat binary files, HDF5 might still be a better choice if partial reads are important -2. Users might need to maintain multiple versions of data (chunked and unchunked) for different use cases -3. Performance optimization becomes more complex since you can't easily balance between chunked and unchunked access patterns +``` \ No newline at end of file From cb8bb9971236f3e43cd0b1ce65e8d94ffc87c1ec Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Wed, 22 Jan 2025 15:15:08 -0600 Subject: [PATCH 09/11] feat: update Kerchunk blog post with additional insights on data handling and performance optimizations --- src/content/blog/kerchunk.md | 331 +++++++++-------------------------- 1 file changed, 79 insertions(+), 252 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index 8b7cfd7..d5f9c8f 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -2,7 +2,7 @@ title: "Virtual Data Standards: A New Path Forward for Scientific Data" date: "2024-01-18" description: "An exploration of different approaches to data standardization in scientific computing, with a focus on the Kerchunk solution for efficient data access" -readTime: "15 min" +readTime: "20 min" image: "/images/blog/kerchunk/kerchunk_image.png" keywords: [ "data standardization", @@ -17,6 +17,10 @@ keywords: [ ] --- +Scientific data standardization is at a crossroads. As experiments generate increasingly complex data, researchers face a critical choice: convert everything to standard formats, or build complex APIs to handle diverse data types. Both approaches have significant drawbacks. This article presents a third way: virtual datasets that make data accessible across programming languages and computing environments while preserving original formats. + +# The need for data standardization in science + Scientific data standardization is fundamental to modern research. As experiments and instruments grow more sophisticated, they generate increasingly complex and voluminous data. Without standardization, valuable research data remains siloed in proprietary formats, trapped on specific computers, or accessible only through particular software tools. This fragmentation impedes collaboration, complicates reproducibility, and ultimately slows scientific progress. When researchers can't easily share and access each other's data, they waste time on data conversion and format issues rather than scientific discovery. Moreover, as scientific workflows increasingly leverage cloud computing and artificial intelligence, the need for standardized, machine-readable data formats becomes even more critical. The field of neurophysiology exemplifies these challenges. Consider a typical modern neuroscience lab: they might use Neuropixels probes for electrophysiology, two-photon microscopes for calcium imaging, and high-speed cameras for behavioral recording. Each instrument comes with its own proprietary software and data formats. The Neuropixels data might be saved in a custom binary format with a separate metadata file, the calcium imaging data in a proprietary microscope format, and the behavioral data as a series of video files in various encodings. @@ -30,8 +34,6 @@ When researchers try to share this data or reproduce analyses, they face numerou These challenges become even more acute when attempting to combine data across labs or perform large-scale meta-analyses. For instance, a researcher might want to compare neural responses across different studies, but find that each dataset uses different conventions for marking experimental events, different units for neural signals, and different coordinate systems for electrode positions. What should be a straightforward scientific comparison becomes a complex data engineering project. -Furthermore, the rise of new analysis techniques, particularly in machine learning, requires standardized, well-structured datasets. Training models across multiple datasets becomes nearly impossible when each dataset uses different conventions and formats. This is particularly problematic in neuroscience, where understanding complex neural systems often requires integrating data across multiple experiments, modalities, and scales. - In the world of scientific data management, we face a fundamental choice in how we approach standardization: Should we standardize the data format itself, or should we standardize the interface (API) through which we access the data? Both approaches have significant trade-offs that deserve careful consideration. ## The Format Standardization Approach @@ -68,327 +70,152 @@ While there are tools for bridging between programming languages, these solution This fragmentation has serious implications for scientific progress. When researchers are locked into specific programming environments, it becomes harder to adopt new analytical tools and techniques. Innovation in data analysis often comes from new programming languages or frameworks, and language lock-in can significantly delay the adoption of these advances. -## A Hybrid Solution: Kerchunk-Based Data Standardization - -What if we could keep our original data files but still provide standardized access across programming languages? This isn't just a hypothetical question – it's becoming possible through an emerging approach that combines the best of both worlds. The key insight is that we can create a kind of "map" of our data files, describing their contents in a standardized way without actually moving or converting the data itself. - -These descriptions use the Zarr format specification as a common language, leveraging its growing support across the scientific computing ecosystem. A crucial advantage of this approach is how it simplifies adding support for new programming languages. Rather than implementing separate readers for each data format in each language, developers only need to implement the logic to parse these standardized JSON descriptions and follow their instructions for reading the data. Once this is done, their implementation automatically works with any data format that has been described in this way. - -This cross-language compatibility is further enhanced by the use of JSON for the descriptions themselves. While one research group might use Python to create these data descriptions, another group could read them from MATLAB, and a third from Julia. The descriptions themselves are language-agnostic, serving as a universal blueprint for accessing the data. - -This approach scales naturally with the complexity of your data. For simple files – like raw recordings from an electrode – the description might just say "start reading here, and this is how the numbers are stored." For more complex data, like multi-dimensional imaging data split across many files, the description can include sophisticated details about how different pieces fit together, how they might be compressed, and how to efficiently access specific portions of the data. +## A Hybrid Solution: The Future of Data Standardization -The beauty of this approach is its flexibility. Research groups can start simple, just describing where their data lives and how to read it. As their needs grow – perhaps they want to optimize for cloud storage or add complex compression – the same framework scales up to handle these advanced use cases. And importantly, this all happens without touching the original data files. +The challenges with both format and API standardization point to the need for a fundamentally different approach. Instead of converting data or building language-specific APIs, we can create standardized "maps" of data files that preserve original data while providing universal access across programming languages and computing environments. +This approach uses the Zarr format specification as a universal language for describing data organization. Rather than converting data or building format-specific readers, we create detailed JSON descriptions that explain how to read each file. These descriptions serve as a bridge between original data files and modern analysis tools, working with any programming language that can read Zarr. -### Enter Kerchunk: Making Virtual Datasets Real +### Building Better Tools: The Kerchunk Implementation -While this idea of creating standardized data maps is powerful in theory, we need practical tools to make it work. This is where Kerchunk comes in. Originally developed to help scientists work with large climate datasets, Kerchunk has emerged as a powerful tool for creating these virtual data mappings. +We're implementing this vision through Kerchunk, adapting and extending it for neurophysiology data. When working with HDF5 files (common in neuroscience), Kerchunk creates JSON maps that liberate the data from the HDF5 ecosystem. Labs can continue using their existing files while gaining the benefits of modern, cloud-native data access patterns. -Kerchunk is particularly notable for its ability to work with HDF5 files – a format commonly used in scientific data storage. It can analyze an HDF5 file and create a detailed JSON description of its contents, effectively creating a virtual Zarr dataset that points back to the original HDF5 file. This is powerful because it means you can use any Zarr-compatible tool to work with HDF5 data without actually converting the data. Even more significantly, once Kerchunk has created these mappings, you no longer need to rely on the HDF5 library (h5lib) to read your data. Instead, you can use more modern, cloud-native data access libraries that are better suited to contemporary computing environments. This liberation from the HDF5 ecosystem can be particularly valuable when working with cloud storage or distributed computing systems. +The approach handles different scales of data elegantly. Small but crucial metadata - like channel labels, timestamps, or experimental parameters - is stored directly in the JSON file. For larger datasets, we provide precise instructions for efficient access to the original files. This flexibility optimizes both performance and convenience while maintaining data integrity. -The "virtual" nature of these datasets is key. When Kerchunk creates a mapping, it's not copying any of the actual data – it's just creating a set of instructions for how to read it. These instructions follow the Zarr specification, which means any tool that knows how to read Zarr data can now read your original data, regardless of its native format. This is particularly valuable in cloud computing environments, where you might want to access specific portions of large datasets without downloading entire files. - -For example, imagine you have a large collection of HDF5 files containing neural recording data. Rather than converting all these files to Zarr (which would double your storage requirements), you can use Kerchunk to create virtual Zarr datasets. These virtual datasets can then be read efficiently from any programming language with Zarr support, with the actual data being read directly from the original HDF5 files only when needed. - -One of the elegant aspects of the Kerchunk approach is its flexibility in how it handles different types of data. While its primary purpose is to create mappings to external data, it can also directly store smaller pieces of data within the JSON file itself. Small attributes can be encoded directly in the mapping file, eliminating the need for external references. Small datasets can also be included in the mapping file using base64 encoding. - -Instead of creating references to tiny external files, which could be inefficient to access, this information becomes immediately available when the JSON mapping is loaded. For example, channel labels, time stamps, or experimental parameters can be stored directly in the mapping file, while the large raw data arrays remain as references to the original files. This flexibility helps optimize performance – frequently accessed small data is immediately available, while large data chunks are accessed only when needed. It's another example of how the virtual dataset approach can adapt to different needs and usage patterns. +This hybrid approach enables efficient cloud computing workflows, where researchers can examine metadata and selectively access data chunks without downloading entire files. It works seamlessly with modern analysis tools while preserving original data formats. Early adoption in neuroscience labs demonstrates that teams can maintain their existing workflows while gradually transitioning to more efficient, cloud-native analysis methods without the overhead of data conversion or the limitations of language-specific APIs. ### Adding Meaning with Xarray -While virtual datasets solve the technical problem of data access, we still need to add semantic meaning to our data. This is where Xarray becomes a powerful complement to our approach. Xarray allows us to label the dimensions and coordinates of our data arrays, add units and other metadata, and work with the data in a more scientifically meaningful way. - -For neurophysiology data, this becomes particularly powerful. A raw array of numbers from an electrode recording becomes much more useful when we can label its dimensions as 'time' and 'channel', associate proper units like 'seconds' and 'microvolts', and attach important metadata like sampling rate or electrode positions. With behavioral data, we might label dimensions as 'frame', 'x', and 'y', with coordinates in meaningful spatial units and timestamps for each frame. - -The combination is particularly elegant because these Xarray annotations can be stored directly in the virtual dataset description. Small coordinate arrays and metadata can be encoded directly in the JSON file, while larger coordinate arrays (like timestamps for long recordings) can be referenced just like the main data. This gives us a complete description of not just how to access the data, but what that data represents. - -Benefits of Xarray Integration: - -1. **Self-Describing Data** - - Dimensions have meaningful names - - Units are explicitly specified - - Coordinate systems are defined - - Metadata is machine-readable - -2. **Enhanced Analysis Capabilities** - - Select data by physical coordinates - - Automatic alignment of different datasets - - Unit-aware computations - - Smart broadcasting based on dimensions - -3. **Interoperability** - - Common interface across data types - - Compatible with Dask for parallel computing - - Easy conversion to other formats (NetCDF, etc.) - - Integration with visualization tools - -### Additional Benefits of Virtual Dataset Mapping - -While our focus has been on standardization and cross-language accessibility, the virtual dataset approach enables several other powerful capabilities worth noting. By separating data description from the data itself, we can: - -- Update and adjust metadata without modifying large data files -- Create explicit links between processed data and raw data sources without altering original files -- Form collections of data objects from different datasets and link them together in sophisticated ways -- Feed data efficiently into modern visualization and analysis tools - -These capabilities are already being put to use in real-world applications like Neurosift, a web-based visualization platform for neurophysiology data. While a full exploration of these features is beyond the scope of this discussion, they represent important additional benefits of this approach to data standardization. - -### Complementing Existing APIs - -While we've discussed some limitations of API-based standardization, it's important to note that the virtual dataset approach isn't meant to replace existing APIs like Neo, NDI, or ONE. Instead, it can complement and enhance them. Decades of development have gone into creating sophisticated analysis, visualization, and data management tools around these APIs, representing an invaluable ecosystem for neuroscience research. - -The virtual dataset approach can coexist seamlessly with these API-based tools in two ways. First, since this approach doesn't require modifying the original data files, existing APIs can continue to access the data exactly as they do now. There's no need to choose between approaches – researchers can use both simultaneously, selecting the most appropriate tool for each specific task. - -Second, and perhaps more interestingly, these APIs could be enhanced to support reading from virtual dataset descriptions. By implementing Kerchunk-compatible readers, APIs like Neo could automatically gain support for any data format that has been mapped using this approach. This would actually expand the reach of these APIs, allowing them to support new data formats without requiring format-specific implementation work. - -This kind of integration could offer the best of both worlds: the language-agnostic accessibility of virtual datasets combined with the sophisticated processing and analysis capabilities of existing APIs. Rather than forcing a choice between approaches, we can build bridges between them, making our data more accessible while preserving access to the rich ecosystem of existing tools. - -### Beyond Basic Mapping: LINDI and Advanced Data Structures +While virtual datasets solve the technical challenge of data access, scientific data needs semantic context to be truly useful. Xarray provides this critical layer, allowing us to transform raw numerical arrays into meaningful scientific data by adding dimensional labels, units, and metadata. This integration fits naturally with our virtual dataset approach – the semantic information can be stored directly in the JSON descriptions, creating complete, self-describing datasets. -While Kerchunk provides an excellent foundation for virtual datasets, some data formats include features that don't map cleanly to the Zarr specification. HDF5, for instance, supports sophisticated data organization features like links and references that have no direct equivalent in Zarr. This is where LINDI (LiNked Data Interface) comes in. +In neurophysiology, this combination is particularly powerful. An electrode recording becomes more than just a matrix of numbers when we can label its dimensions as 'time' and 'channel', specify units like 'seconds' and 'microvolts', and attach metadata about sampling rates and electrode positions. Similarly, behavioral tracking data gains clarity when dimensions are labeled as 'frame', 'x', and 'y', with proper spatial units and precise timestamps. -LINDI extends the Kerchunk approach by adding support for these more complex data structures. It maintains the core idea of creating virtual mappings but expands the specification to handle HDF5 links and references. This is particularly important for scientific datasets where these features are used to represent relationships between different parts of the data – like linking an electrode's recording data to its position information, or connecting spike times to the original voltage traces that produced them. +The integration preserves our efficient data access patterns – small coordinate arrays and metadata are encoded directly in the JSON file, while larger coordinate arrays (like timestamps for long recordings) are referenced like the main data. This creates a complete description of both the data's structure and its scientific meaning. The result is a system that combines efficient data access with rich semantic context, enabling sophisticated analyses like selecting data by physical coordinates, automatic alignment of different datasets, and unit-aware computations. -By supporting these more sophisticated data structures, LINDI makes it possible to create virtual mappings for a broader range of HDF5 files without losing important structural information. This is crucial for formats like NWB (Neurodata Without Borders) that make extensive use of HDF5's linking capabilities to organize complex experimental data. +### Practical Applications and Ecosystem Integration -### Virtual NWB files +The virtual dataset approach is already demonstrating its value in real-world applications. Neurosift, a web-based visualization platform for neurophysiology data, leverages these capabilities to provide efficient, interactive visualizations of complex neurophysiology datasets. The separation of data description from the data itself enables dynamic updating of metadata, creation of explicit provenance links, and sophisticated combinations of data from different sources - all without modifying the original files. -One compelling application of this approach is the ability to create virtual NWB (Neurodata Without Borders) files. NWB is a sophisticated standard that uses HDF5's linking capabilities extensively to organize complex neurophysiology data. Using LINDI, we can create virtual NWB files that maintain all the standard's organizational structure and metadata requirements while pointing to data that lives in its original location and format. This means researchers can make their data "NWB-compliant" without actually converting terabytes of raw data into new files. The virtual NWB file serves as a standardized view of the data, complete with all the required metadata and organizational structure, while the underlying data remains untouched. This approach could significantly lower the barrier to adopting the NWB standard, especially for labs with large existing datasets or ongoing experiments. +This approach also complements, rather than replaces, established tools in neuroscience. The rich ecosystem of existing APIs like Neo, NDI, and ONE represents decades of development in sophisticated analysis and data management tools. Since virtual dataset mapping doesn't modify original data files, these APIs can continue to operate alongside it, allowing researchers to use the most appropriate tool for each task. Moreover, these APIs could be enhanced to read virtual dataset descriptions, automatically gaining support for any mapped data format without requiring format-specific implementations. -However, there is an important trade-off to consider: data accessed through these virtual NWB files won't benefit from the performance advantages of chunking and compression that come with native NWB files. For data archives like DANDI, this could be addressed by creating optimized, chunked, and compressed versions of the data on the server side. This would allow users to access the data efficiently while still maintaining the original files for reference and verification. The virtual NWB files could then be updated to point to these optimized versions when accessing data through the archive. +This integration demonstrates the practical power of the approach: researchers can maintain their existing workflows while gaining the benefits of cloud-native data access and cross-language compatibility. Rather than forcing a choice between approaches, we're building bridges between them, making neurophysiology data more accessible while preserving and enhancing the functionality of existing tools. -The approach works in the other direction as well. Tools like Neurosift use Kerchunk and LINDI to read from existing NWB files, creating virtual datasets that map to the internal data arrays within NWB files. This enables efficient, cloud-friendly access to NWB data without requiring specialized HDF5 libraries. By converting NWB's complex internal structure into simple Zarr-compatible maps, tools can access just the specific data they need without having to understand the full NWB specification. +### Advanced Data Structures with LINDI -### Extending BIDS: Supporting New Data Types +While Kerchunk provides the foundation for virtual datasets, some scientific data formats use sophisticated features that don't map directly to the Zarr specification. HDF5, for instance, uses links and references extensively to represent relationships within complex datasets. LINDI (LiNked Data Interface) extends the virtual dataset approach to handle these advanced structures, making it possible to create complete mappings of complex scientific data without losing important structural information. -This virtual dataset approach could also help expand the Brain Imaging Data Structure (BIDS) standard to support new types of data. Currently, BIDS works well for established neuroimaging formats like NIfTI and DICOM because these formats are already well-standardized. However, when researchers want to include new types of data in their BIDS datasets – like novel imaging techniques or custom electrophysiology recordings – they face challenges because BIDS hasn't yet standardized these formats. +This capability is particularly important for neurophysiology data, where relationships between different measurements are crucial - like connecting spike times to their source voltage traces, or linking electrode recordings to their precise spatial positions. By preserving these relationships in our virtual mappings, LINDI enables sophisticated data organization while maintaining the benefits of cloud-native access patterns. -A particularly relevant application would be behavioral and physiological data. Modern neuroscience increasingly relies on sophisticated behavioral tracking – from simple video recordings to complex multi-camera setups, depth sensors, and automated tracking systems. Each of these might store data differently: pose estimation as CSV or HDF5 files, or raw video in various formats. Similarly, physiological measurements like heart rate, respiration, temperature, or eye tracking often come from different devices with their own proprietary formats. Using virtual dataset mappings, researchers could make all these diverse data types accessible through a common interface while maintaining the original files. This would allow BIDS to support the growing diversity of behavioral and physiological measurements without requiring researchers to convert their data to new formats. +### Virtual NWB: Lowering Barriers to Standardization -More broadly, using virtual dataset mappings, we could extend BIDS support to these new data types without waiting for format standardization. Researchers could maintain their data in its original format while providing standardized JSON descriptions that detail how to read it. These descriptions could live alongside the traditional BIDS metadata files, maintaining BIDS's familiar organization while making the data accessible through standard tools. This would allow the BIDS community to experiment with supporting new data types before committing to specific format requirements. +The power of this approach becomes clear when applied to the NWB (Neurodata Without Borders) standard. NWB uses HDF5's linking capabilities extensively to organize complex neurophysiology data. Using LINDI, we can create virtual NWB files that maintain all the standard's organizational requirements while pointing to data in its original location and format. This means labs can make their data "NWB-compliant" without converting terabytes of raw data into new files. -### The MATLAB Challenge and Opportunity +Tools like Neurosift already demonstrate the practical benefits of this approach, using Kerchunk and LINDI to enable efficient, cloud-friendly access to NWB data without specialized HDF5 libraries. By converting NWB's complex internal structure into simple Zarr-compatible maps, tools can access specific data directly without processing entire files. -A significant gap in the current ecosystem is MATLAB support. Despite MATLAB's widespread use in neuroscience and other scientific fields, there is currently no MATLAB implementation of the Zarr specification. This means that MATLAB users cannot yet take advantage of these virtual dataset approaches – a limitation that affects a large portion of the scientific community. +### Extending Standards: BIDS and Beyond -However, this gap also presents an opportunity. Creating a MATLAB Zarr implementation would immediately unlock access to a vast ecosystem of data through these virtual mappings. This is particularly interesting when we consider MATLAB's own file formats. Modern MATLAB (.mat) files actually use HDF5 as their underlying storage format. This means that, once implemented, MATLAB users could use the virtual dataset approach to efficiently access MATLAB files in cloud storage without having to download entire files – something that's currently challenging with traditional MATLAB file access methods. +This approach could also help expand existing standards like BIDS (Brain Imaging Data Structure) to support new types of data. Modern neuroscience increasingly incorporates diverse data types - from multi-camera behavioral tracking to complex physiological measurements - each with their own formats. Virtual dataset mappings could make these diverse data types accessible through a common interface while preserving the original files. -The path forward is clear, though non-trivial: the MATLAB scientific computing community needs a robust Zarr implementation. While this requires significant development effort, the payoff would be substantial – not just for accessing virtual datasets, but for bringing MATLAB users into the broader ecosystem of modern, cloud-native scientific data tools. +For example, a lab might combine pose estimation data stored in CSV files, depth sensor recordings in proprietary formats, and physiological measurements from various devices. Instead of requiring format conversion, researchers could provide standardized JSON descriptions alongside traditional metadata files, maintaining familiar organization while enabling standard access patterns. This flexibility could accelerate the adoption of standards while supporting the growing diversity of neuroscience data. -### Modernizing Legacy Tools: Neo's Virtual Dataset Evolution +### Current Limitations and Future Developments -We're currently leading an effort to bring virtual dataset capabilities to Neo, the popular Python library for handling neurophysiology data. Neo has long served the neuroscience community by providing a common interface to various data formats, but like many API-based solutions, it faces the language lock-in challenges we discussed earlier. +While the virtual dataset approach solves many data standardization challenges, some important gaps remain. MATLAB, despite its widespread use in neuroscience, currently lacks support for the Zarr specification. This limitation affects many research labs, particularly those working with electrophysiology and calcium imaging data. Implementing Zarr support in MATLAB would not only enable virtual dataset access but could also improve cloud storage access for MATLAB's own HDF5-based .mat files. -Our project aims to enhance Neo with the ability to generate these virtual dataset descriptions. Rather than just reading data into Python objects, Neo will create standardized JSON mappings that describe how to access the underlying data. This is a powerful evolution: instead of Neo's format support being useful only to Python users, its deep knowledge of various neurophysiology file formats will be leveraged by any programming language that can read these virtual datasets. +We're also working to extend these capabilities to existing tools. For instance, we're enhancing Neo, a popular Python library for neurophysiology data, to generate virtual dataset descriptions. This evolution will allow Neo's deep understanding of various data formats to benefit users across all programming languages, not just Python. Instead of acting as a translator, Neo will serve as a cartographer, creating maps that any software can follow. -This represents a fundamental shift in how we think about scientific data tools. Rather than trying to make Neo a universal translator, we're transforming it into more of a cartographer, creating maps that anyone can follow regardless of their preferred programming language. +### When Format Conversion Remains Necessary -### When Virtual Isn't Enough: The Case for Physical Data Conversion +While virtual datasets solve many standardization challenges, some scenarios still require traditional format conversion. For instance, proprietary formats that require specialized software libraries can't be fully described in JSON mappings. Similarly, some legacy formats store data in ways that fundamentally limit performance - like splitting what should be a single array across thousands of small files. +In these cases, converting to a modern format like Zarr becomes necessary. The decision to convert should be based on specific technical limitations: -While the virtual dataset approach is powerful, it's not a universal solution. Some data formats present challenges that can't be solved through virtual mapping alone. For instance, some proprietary formats may require specialized software libraries to read, making it impossible to describe their data layout in a simple JSON mapping. Others might store data in ways that are fundamentally inefficient or incompatible with modern computing needs – like storing what should be a single large array as thousands of tiny files, or using compression formats that don't support random access. +* Reliance on proprietary software for data access +* Inefficient data layout that impacts performance +* Incompatibility with cloud storage and parallel access +* Lack of support for random access or other crucial features -In these cases, we still need to bite the bullet and convert the data into a more suitable format. The good news is that we can be strategic about when we do this. The decision to convert data can be based on clear criteria: +This practical hybrid approach - using virtual datasets where possible and converting formats only when necessary - provides the flexibility needed for real-world neurophysiology research. -* Does the format require proprietary software to read? -* Is the data layout fundamentally inefficient for common access patterns? -* Would cloud storage and access be prohibitively expensive or slow with the current format? -* Does the format lack support for crucial features like random access or parallel reading? +# Technical Implementation -When these issues arise, converting to a well-designed format like Zarr becomes the pragmatic choice, despite the overhead. The key is making this decision deliberately, based on concrete needs, rather than converting everything by default. This hybrid approach – using virtual datasets where possible and physical conversion where necessary – gives us the best of both worlds. +The core mechanism uses Kerchunk to map existing data files to the Zarr specification through JSON reference files. These references specify the precise location and structure of data chunks, enabling Zarr-compatible tools to access the original data without conversion. The JSON references contain essential information about array structure, data types, and the location of the underlying bytes in the source files. -### Technical limitation: zarr-python support for unchunked arrays +### Implementation Complexity Levels -A significant limitation in the current zarr-python implementation concerns its handling of unchunked datasets. Unlike HDF5, which can efficiently read arbitrary regions from contiguous data files, Zarr lacks native support for partial reads of unchunked data. For formats like SpikeGLX, which stores neural recordings as large, contiguous binary files, this becomes particularly problematic. Accessing even a small time window of neural data might require reading much more data than necessary, significantly impacting performance and resource usage. This issue is especially relevant for electrophysiology data, where researchers often need to access specific time segments of recordings that can be many hundreds of gigabytes in total size. +The system accommodates data structures of varying complexity through three distinct implementation levels: -This limitation creates a difficult choice: either accept the performance penalties of inefficient reads, or chunk the data and potentially double storage requirements. While chunking can optimize certain access patterns, it adds complexity and storage overhead that might not be justified for simple, flat binary files. Moreover, the original unchunked files often need to be maintained for compatibility with existing tools and workflows. +#### Basic Array Mapping +The simplest implementation handles contiguous data files by specifying fundamental array properties: byte offset, shape, and data type. This level suffices for many common neurophysiology file formats that store data as continuous arrays. -# How It Works +#### Chunked Data Structures +The intermediate level addresses more sophisticated data organizations, including multi-file datasets and non-contiguous storage patterns. This level becomes essential when working with formats that distribute data across multiple files or employ chunking strategies. -Rather than creating new JSON schemas, we use Kerchunk to generate references that map existing data files into the Zarr format. Kerchunk creates JSON files that describe: -- The location of data chunks -- Array shapes and data types -- Compression settings (when present) -- References to the original data bytes +#### Advanced Format Features +The most sophisticated level handles formats like HDF5 and Zarr that incorporate chunk-wise filtering and compression. This level preserves these advanced features while maintaining efficient access patterns. -This mapping allows any Zarr-compatible tool to treat the original data as if it were a Zarr array, without actually converting the data. +## Implementation Examples -### Implementation Levels +### High-Density Electrophysiology Data -The system naturally supports different levels of complexity: +Consider a typical high-density electrode recording stored in a binary format, such as the SpikeGLX forat. The Kerchunk reference maps this data to a virtual Zarr array: -#### Level 1: Basic Arrays -For simple, contiguous data files, Kerchunk can create straightforward mappings that specify: -- Byte offsets into the original file -- Array shapes and data types -- Basic chunking information - -#### Level 2: Chunked Data -For more complex formats, Kerchunk can describe: -- Explicit chunk locations -- Multi-file datasets -- More sophisticated indexing schemes - -#### Level 3: Advanced Features -For formats like HDF5 that already support compression and complex chunking: -- Compression specifications -- Hierarchical data structures -- Complex chunk organizations - -## Practical Applications and Ecosystem - -### Example Use Cases - -#### 1. Large Electrophysiology Recordings -Consider a lab collecting high-density electrode recordings stored in flat binary files: ```python -# Kerchunk reference might look like: { "version": 1, "refs": { ".zgroup": {"zarr_format": 2}, "ap_band/.zarray": { - "shape": [18000000, 384], # 10 minutes @ 30kHz, 384 channels + "shape": [18000000, 384], # 10 min recording @ 30kHz "dtype": " Date: Thu, 23 Jan 2025 18:01:11 -0600 Subject: [PATCH 10/11] feat: enhance blog post component with keyword display and improved frontmatter parsing --- src/components/BlogPost.tsx | 22 +++++++++++++++++++--- src/utils/blogLoader.ts | 22 +++++++++++++++++----- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/components/BlogPost.tsx b/src/components/BlogPost.tsx index 5f1d4d6..5a9b41c 100644 --- a/src/components/BlogPost.tsx +++ b/src/components/BlogPost.tsx @@ -20,9 +20,25 @@ export const BlogPost = () => {

{post.title}

-
- {post.date} - {post.readTime} +
+
+ {post.date} + {post.readTime} +
+ {post.keywords?.length > 0 && ( +
+ {post.keywords + .filter(keyword => keyword && keyword.trim()) + .map((keyword, index) => ( + + {keyword.trim()} + + ))} +
+ )}
- item.trim().replace(/^["'](.*)["']$/, '$1') // Remove quotes - .replace(/^[-\s]*/, '') // Remove leading dash and spaces - .trim() - ); + if (currentKey === 'keywords') { + data[currentKey] = arrayItems.map(item => + item.trim() + .replace(/^[-\s]*/, '') // Remove leading dash and spaces + .replace(/["']/g, '') // Remove all quotes + .replace(/,\s*$/, '') // Remove trailing commas + .trim() + ).filter(item => item !== ''); // Remove empty items + } else { + data[currentKey] = arrayItems.map(item => + item.trim() + .replace(/^["'](.*)["']$/, '$1') // Remove quotes + .replace(/^[-\s]*/, '') // Remove leading dash and spaces + .replace(/,\s*$/, '') // Remove trailing commas + .trim() + ).filter(item => item !== ''); // Remove empty items + } isInArray = false; currentKey = null; arrayItems = []; From 28fd071c6ec6a582c9b76ffddedf08b771c7135a Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Sat, 25 Jan 2025 18:08:37 -0600 Subject: [PATCH 11/11] feat: add links and make language adjustments --- src/content/blog/kerchunk.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/content/blog/kerchunk.md b/src/content/blog/kerchunk.md index d5f9c8f..826058c 100644 --- a/src/content/blog/kerchunk.md +++ b/src/content/blog/kerchunk.md @@ -58,7 +58,7 @@ Perhaps most critically, format conversion risks losing essential metadata or su Given these challenges, it's tempting to pursue an alternative: standardizing the API rather than the data format. This approach allows data to remain in its native format while providing a unified interface for accessing it. At first glance, this seems to solve the resource utilization problems of format standardization. -The neuroscience community has seen several notable attempts at API standardization. The Neo project pioneered this approach for electrophysiology data, providing a Python API that can read various proprietary and open formats into a common object model. This allows analysis code to work with data regardless of its source format, as long as Neo supports reading that format. The International Brain Lab (IBL) took a similar approach with their Open Neurophysiology Environment (ONE), creating a standardized API for accessing neurophysiology data that abstracts away the underlying storage details. More recently, the Neuroscience Data Interface (NDI) project has attempted to create a comprehensive API for accessing and analyzing neurophysiology data, incorporating lessons learned from previous efforts. +The neuroscience community has seen several notable attempts at API standardization. The [Neo](https://github.com/NeuralEnsemble/python-neo) project, let by Andrew Davison, pioneered this approach for electrophysiology data, providing a Python API that can read various proprietary and open formats into a common object model. This allows analysis code to work with data regardless of its source format, as long as Neo supports reading that format. The International Brain Lab (IBL) took a similar approach with their [Open Neurophysiology Environment (ONE)](https://github.com/int-brain-lab/ONE), creating a standardized API for accessing neurophysiology data that abstracts away the underlying storage details. More recently, the [Neuroscience Data Interface (NDI)](https://github.com/VH-Lab/NDI-matlab) project, led by Steve Van Hooser, has attempted to create a comprehensive API for accessing and analyzing neurophysiology data, incorporating lessons learned from previous efforts. One significant advantage of the API approach is its preservation of metadata. Since the original files are maintained in their native format, no metadata is lost during standardization. Even if the standardized API doesn't explicitly support certain metadata fields, this information remains accessible in the source files through custom access methods. This is particularly valuable in experimental science, where seemingly minor metadata might later prove crucial for analysis or reproducibility. @@ -73,16 +73,23 @@ This fragmentation has serious implications for scientific progress. When resear ## A Hybrid Solution: The Future of Data Standardization The challenges with both format and API standardization point to the need for a fundamentally different approach. Instead of converting data or building language-specific APIs, we can create standardized "maps" of data files that preserve original data while providing universal access across programming languages and computing environments. -This approach uses the Zarr format specification as a universal language for describing data organization. Rather than converting data or building format-specific readers, we create detailed JSON descriptions that explain how to read each file. These descriptions serve as a bridge between original data files and modern analysis tools, working with any programming language that can read Zarr. + +The NWB team has created a mapping strategy that uses the Zarr format specification as a universal language for describing data organization. Rather than converting data or building format-specific readers, we create detailed JSON descriptions that explain how to read each file. These descriptions serve as a bridge between original data files and modern analysis tools, working with any programming language that can read Zarr. ### Building Better Tools: The Kerchunk Implementation -We're implementing this vision through Kerchunk, adapting and extending it for neurophysiology data. When working with HDF5 files (common in neuroscience), Kerchunk creates JSON maps that liberate the data from the HDF5 ecosystem. Labs can continue using their existing files while gaining the benefits of modern, cloud-native data access patterns. +We're implementing this vision through [Kerchunk](https://fsspec.github.io/kerchunk), adapting and extending it for neurophysiology data. When working with HDF5 files (common in neuroscience), Kerchunk creates JSON maps that liberate the data from the HDF5 ecosystem. Labs can continue using their existing files while gaining the benefits of modern, cloud-native data access patterns. The approach handles different scales of data elegantly. Small but crucial metadata - like channel labels, timestamps, or experimental parameters - is stored directly in the JSON file. For larger datasets, we provide precise instructions for efficient access to the original files. This flexibility optimizes both performance and convenience while maintaining data integrity. This hybrid approach enables efficient cloud computing workflows, where researchers can examine metadata and selectively access data chunks without downloading entire files. It works seamlessly with modern analysis tools while preserving original data formats. Early adoption in neuroscience labs demonstrates that teams can maintain their existing workflows while gradually transitioning to more efficient, cloud-native analysis methods without the overhead of data conversion or the limitations of language-specific APIs. +### Advanced Data Structures with LINDI + +While Kerchunk provides the foundation for virtual datasets, some scientific data formats use sophisticated features that don't map directly to the Zarr specification. HDF5, for instance, uses links and references extensively to represent relationships within complex datasets. [LINDI (LiNked Data Interface)](https://github.com/NeurodataWithoutBorders/lindi), developed by Jeremy Magland and Ryan Ly, extends the virtual dataset approach to handle these advanced structures, making it possible to create complete mappings of complex scientific data without losing important structural information. + +This capability is particularly important for neurophysiology data, where relationships between different measurements are crucial - like connecting spike times to their source voltage traces, or linking electrode recordings to their precise spatial positions. By preserving these relationships in our virtual mappings, LINDI enables sophisticated data organization while maintaining the benefits of cloud-native access patterns. + ### Adding Meaning with Xarray While virtual datasets solve the technical challenge of data access, scientific data needs semantic context to be truly useful. Xarray provides this critical layer, allowing us to transform raw numerical arrays into meaningful scientific data by adding dimensional labels, units, and metadata. This integration fits naturally with our virtual dataset approach – the semantic information can be stored directly in the JSON descriptions, creating complete, self-describing datasets. @@ -93,27 +100,21 @@ The integration preserves our efficient data access patterns – small coordinat ### Practical Applications and Ecosystem Integration -The virtual dataset approach is already demonstrating its value in real-world applications. Neurosift, a web-based visualization platform for neurophysiology data, leverages these capabilities to provide efficient, interactive visualizations of complex neurophysiology datasets. The separation of data description from the data itself enables dynamic updating of metadata, creation of explicit provenance links, and sophisticated combinations of data from different sources - all without modifying the original files. +The virtual dataset approach is already demonstrating its value in real-world applications. Neurosift, a web-based visualization platform for neurophysiology data built by Jeremy Magland, leverages these capabilities to provide efficient, interactive visualizations of complex neurophysiology datasets. The separation of data description from the data itself enables dynamic updating of metadata, creation of explicit provenance links, and sophisticated combinations of data from different sources - all without modifying the original files. This approach also complements, rather than replaces, established tools in neuroscience. The rich ecosystem of existing APIs like Neo, NDI, and ONE represents decades of development in sophisticated analysis and data management tools. Since virtual dataset mapping doesn't modify original data files, these APIs can continue to operate alongside it, allowing researchers to use the most appropriate tool for each task. Moreover, these APIs could be enhanced to read virtual dataset descriptions, automatically gaining support for any mapped data format without requiring format-specific implementations. This integration demonstrates the practical power of the approach: researchers can maintain their existing workflows while gaining the benefits of cloud-native data access and cross-language compatibility. Rather than forcing a choice between approaches, we're building bridges between them, making neurophysiology data more accessible while preserving and enhancing the functionality of existing tools. -### Advanced Data Structures with LINDI - -While Kerchunk provides the foundation for virtual datasets, some scientific data formats use sophisticated features that don't map directly to the Zarr specification. HDF5, for instance, uses links and references extensively to represent relationships within complex datasets. LINDI (LiNked Data Interface) extends the virtual dataset approach to handle these advanced structures, making it possible to create complete mappings of complex scientific data without losing important structural information. - -This capability is particularly important for neurophysiology data, where relationships between different measurements are crucial - like connecting spike times to their source voltage traces, or linking electrode recordings to their precise spatial positions. By preserving these relationships in our virtual mappings, LINDI enables sophisticated data organization while maintaining the benefits of cloud-native access patterns. - ### Virtual NWB: Lowering Barriers to Standardization -The power of this approach becomes clear when applied to the NWB (Neurodata Without Borders) standard. NWB uses HDF5's linking capabilities extensively to organize complex neurophysiology data. Using LINDI, we can create virtual NWB files that maintain all the standard's organizational requirements while pointing to data in its original location and format. This means labs can make their data "NWB-compliant" without converting terabytes of raw data into new files. +The power of this approach becomes clear when applied to the [NWB (Neurodata Without Borders)](http://nwb.org) standard. NWB uses HDF5's linking capabilities extensively to organize complex neurophysiology data. Using LINDI, we can create virtual NWB files that maintain all the standard's organizational requirements while pointing to data in its original location and format. This means labs can make their data "NWB-compliant" without converting terabytes of raw data into new files. -Tools like Neurosift already demonstrate the practical benefits of this approach, using Kerchunk and LINDI to enable efficient, cloud-friendly access to NWB data without specialized HDF5 libraries. By converting NWB's complex internal structure into simple Zarr-compatible maps, tools can access specific data directly without processing entire files. +Tools like Neurosift already demonstrate the practical benefits of this approach, using Kerchunk and LINDI to enable efficient, cloud-friendly access to NWB data without specialized HDF5 libraries. By converting NWB's complex internal structure into simple [Zarr](https://zarr.dev/)-compatible maps, tools can access specific data directly without processing entire files. ### Extending Standards: BIDS and Beyond -This approach could also help expand existing standards like BIDS (Brain Imaging Data Structure) to support new types of data. Modern neuroscience increasingly incorporates diverse data types - from multi-camera behavioral tracking to complex physiological measurements - each with their own formats. Virtual dataset mappings could make these diverse data types accessible through a common interface while preserving the original files. +This approach could also help expand existing standards like [BIDS (Brain Imaging Data Structure)](https://bids.neuroimaging.io/) to support new types of data. Modern neuroscience increasingly incorporates diverse data types - from multi-camera behavioral tracking to complex physiological measurements - each with their own formats. Virtual dataset mappings could make these diverse data types accessible through a common interface while preserving the original files. For example, a lab might combine pose estimation data stored in CSV files, depth sensor recordings in proprietary formats, and physiological measurements from various devices. Instead of requiring format conversion, researchers could provide standardized JSON descriptions alongside traditional metadata files, maintaining familiar organization while enabling standard access patterns. This flexibility could accelerate the adoption of standards while supporting the growing diversity of neuroscience data.