Data storage¶
How an image is stored¶
When you upload an image, PoreStore reads the file once and stores the array exactly as uploaded: the same values, the same data type, with nothing rescaled or binarised. It stores it in a cloud-friendly, chunked format: the 3D array is cut into small blocks, each stored on its own. A tool or viewer can then read only the blocks it needs, and many machines can read the same image at once.
At the same time, PoreStore measures the image (its size, data type, value range and, for a segmented image, its porosity), draws its thumbnail, and prepares the slices the image viewer shows, so the image page opens quickly.
Why opening data takes a moment¶
A tool works on a whole array in memory, not on blocks in storage. So whenever a job, a viewer or an export opens an image, its machine first fetches the blocks and puts them back together into one array. For a small image that's quick; for an image of hundreds of millions of voxels it can take a noticeable part of the job's time. It's also why a job doesn't start computing the instant it starts running.
Result fields work the same way. A simulation saves its fields (pressure, velocity, concentration or potential) as blocks next to the image. When the job finishes, PoreStore prepares slices of the field the viewer opens on. Other fields are prepared the first time you choose one, so the first look at a large field can take a few seconds, and later looks are quick. Download scalar fields and Export reassemble the blocks into a single file, which takes longer for a larger image.
What stays with what¶
| You do | The image's data | Result fields | Jobs and their numbers |
|---|---|---|---|
| Delete an image | Deleted | Deleted with it | Kept: every job and its numbers stay readable |
| Save an edit over an image (for example a trim or a cleaning) | Replaced by the edited image | Earlier jobs' fields are no longer available | Kept; their pages say the fields are gone |
| Save an edit as a new image | Unchanged; the new image is stored separately | Unchanged | Unchanged |
To keep a field after changing the image, download it first, or save the edit as a new image instead.
Results are stored in voxels¶
Every result is computed and stored in voxel units, and converted to physical units with the image's current voxel size whenever you look at it. Correcting a voxel size updates every result on that image at once, with nothing rerun. Exported files are the exception: they carry the voxel size they were made with. See Units and voxel size.