Skip to content
Snippets Groups Projects
Commit 98a53810 authored by Tobias Pietzsch's avatar Tobias Pietzsch
Browse files

Change dataset pattern to "/setup%d/timepoint%d/s%d" (no zero-padding)

parent 2b82fedd
No related branches found
No related tags found
No related merge requests found
......@@ -7,9 +7,9 @@ multi-resolution 3D stacks are organized in the following N5 hierarchy:
```
\
├── setup00
├── setup0
│ ├── attributes.json {"downsamplingFactors":[[1,1,1],[2,2,2]],"dataType":"uint8"}
│ ├── timepoint00000
│ ├── timepoint0
│ │ ├── s0
│ │ │ ├── attributes.json {"dataType":"uint8","compression":{"type":"bzip2","blockSize":9},"blockSize":[16,16,16],"dimensions":[400,400,25]}
│ │ │ ┊
......@@ -17,14 +17,14 @@ multi-resolution 3D stacks are organized in the following N5 hierarchy:
│ │ ├── s1
│ │ ┊
│ │
│ ├── timepoint00001
│ ├── timepoint1
│ ┊
├── setup01
├── setup1
```
Each 3D stack is stored as a dataset with path formatted as `/setup%02d/timepoint%05d/s%d`.
Each 3D stack is stored as a dataset with path formatted as `/setup%d/timepoint%d/s%d`.
Here, `setup` number is flattened index of channel, angle, tile, illumination, etc.,
`timepoint` is the index of the time point, and `s` is the scale level of the multi-resolution pyramid.
......@@ -38,7 +38,7 @@ that specify downsampling scheme and datatype, which are the same for all timepo
`downsamplingFactors` specifies power-of-two downscaling factors for each scale level (with respect to full resolution `s0`, which always has `[1,1,1]`).
`dataType` is one of {uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32, float64}.
> TODO: Additional metadata (for example identifying `setup03` as channel 3, tile 124, etc.) could be replicated from the XML.
> TODO: Additional metadata (for example identifying `setup3` as channel 3, tile 124, etc.) could be replicated from the XML.
The idea would be that parts of a dataset can be used independent of BDV, without the XML.
We should agree on standard attributes for this.
......
......@@ -7,16 +7,16 @@ public class BdvN5Format
public static String getPathName( final int setupId )
{
return String.format( "setup%02d", setupId );
return String.format( "setup%d", setupId );
}
public static String getPathName( final int setupId, final int timepointId )
{
return String.format( "setup%02d/timepoint%05d", setupId, timepointId );
return String.format( "setup%d/timepoint%d", setupId, timepointId );
}
public static String getPathName( final int setupId, final int timepointId, final int level )
{
return String.format( "setup%02d/timepoint%05d/s%d", setupId, timepointId, level );
return String.format( "setup%d/timepoint%d/s%d", setupId, timepointId, level );
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment