Skip to content

Upload

Upload brings a 3D image of a porous material into your team's library, from your computer or from a cloud share link. PoreStore reads it, stores it exactly as uploaded and measures it, and the image is then ready for any tool.

  • Find it Images › Upload, or Tools › Image Management › Upload
  • Takes a .npy, .npz, .zip, .raw, .tif or .tiff file up to 4 GB, from your computer or a Dropbox, Google Drive or OneDrive link
  • Returns one new image per array in the file, binary or greyscale, with its values unchanged
  • Next segment a greyscale image, or start analysing a segmented one

Run it

  1. Open Images and select Upload.
  2. Under Source, choose where the file comes from: File, to drop a file from your computer or choose one, or Cloud link, to paste a public share link. Folder uploads a folder of slices as one 3D image.
  3. For a .raw file, fill in the RAW file dimensions that appear: its width, height, depth and data type.
  4. Under Output, give the Image name (left empty, it's taken from the file name), an optional Description, and the Voxel size in micrometres if you know it.
  5. Select Upload. A progress bar follows the transfer, and the new image appears in the library as processing until PoreStore has read and measured it.

You can set or correct the voxel size later on the image page; results re-express themselves when you do.

The Upload page with a TIFF stack selected and its name, description and voxel size filled in.

The File and Cloud link tabs, the chosen file, the optional voxel size and the Upload button.

Settings

Setting Default Range What it does
Source File File, Cloud link, Folder Where the file comes from. One file, archive or folder per upload.
Share link a public Dropbox, Google Drive or OneDrive link Cloud link only. PoreStore downloads the file itself, with the same formats and limit.
RAW file dimensions width, height, depth ≥ 1 .raw files only. See RAW.
Image name the file name up to 200 characters The name the library shows.
Description empty free text Notes on the sample, imaging conditions and so on.
Voxel size not set a positive number of µm The edge length of one voxel. Leave it empty to keep results in voxel units for now.

Formats

Every format is stored exactly as uploaded: the same values and data type, with no rescaling and no segmentation. An upload can be at most 4 GB, and each image in it at most 4 GB once read.

A single 3D NumPy array, binary or greyscale. The best choice: any data type and memory order NumPy supports. The array's axes 0, 1 and 2 become X, Y and Z.

Setting Value
Images per file 1
Settings none

A multipage TIFF stack. The page number becomes X, the rows Y and the columns Z. A stack with colour channels is averaged over its channels into one greyscale value per voxel.

Setting Value
Images per file 1
Settings none

A headerless block of voxel values, read in order and shaped as depth × height × width, so Depth (slices) becomes X, Height (px) Y and Width (px) Z. The file's size must equal width × height × depth × bytes per voxel exactly, or the image fails with the size it expected.

Setting Value
Width (px), Height (px), Depth (slices) whole numbers, 1 or more
Data type uint8, uint16, uint32, float32 or float64, little-endian
Guess fills in a cube of uint8 voxels that matches the file's size

A NumPy archive of several arrays. Each array becomes a separate image, in name order, up to 32 per archive.

Setting Value
Images per file up to 32
Settings none

An archive of .npy, .tif or .tiff files. Each file becomes a separate image, in name order, up to 32 per archive. An archive of slices therefore gives one image per slice, not one volume. Tick Combine ZIP slices into one 3D image to stack them instead, as for a folder.

Setting Value
Images per file up to 32, or 1 with Combine ZIP slices into one 3D image
Combine ZIP slices into one 3D image off

A folder of greyscale TIFF, PNG, BMP or JPEG slices, all the same size and data type, becomes one 3D image. Filenames set the slice order, read naturally, so slice2 comes before slice10. Each slice's rows and columns become X and Y, and the slice number becomes Z. Put every slice in one folder; separate folders can't be combined.

Setting Value
Images per upload 1
Limit 4 GB per upload, archive overhead included

Results

The new image opens in the library as processing. When it's ready, its page shows its cross-sections, size, data type, and whether it's Binary or Greyscale, with its porosity if it's segmented. See Images for everything the image page shows.

A newly uploaded greyscale image, ready, with its cross-sections and image facts.

A ready greyscale image, with its cross-sections, image type and voxel size.

Common problems

  • The upload button stays disabled. Choose a file of a supported type, or paste a share link, and fill in all three RAW dimensions for a .raw file.
  • The image failed with a size mismatch. The RAW dimensions or data type don't match the file. Check them against the software that wrote the file.
  • My slices became separate images. A .zip of slices gives one image per slice. Stack them into a multipage TIFF first, or upload them as a folder.
  • The axes aren't the ones I expected. PoreStore keeps the array's order. Rotate the stack before uploading if flow should run along another index.
  • The file is larger than 4 GB. Crop or downsample it before uploading, or save it in a smaller data type.
  • A cloud link fails. The link must be public, so anyone with it can download the file without signing in.