hilum

Manual

From file to CSV, no PDF open beside you.

What SeedCounter's Help says, organized by task. Each one gives the steps, where to click, why it matters and what to look at to know it worked.

A sample's path

Seven steps, in this order

From the open file to the exported test report. The tasks below detail each part.

  1. Open

    A scan (PNG, JPG or TIFF), a camera, a real example, or a folder of datasets. In Multi-workbench mode, up to four scenes at once.

    Left sidebar › Open image / Examples; Datasets tab on the right; Multi-workbench in the header.

  2. Calibrate

    Set the scale: scanner DPI, a ruler in the image, or a micrometer. The driver's DPI is a declaration; the ruler does the checking.

    Step 1. The scale bar in the corner of the image shows the result (mm and px).

  3. Find

    Mark (V/I), segment by click (S), or, when you load an image, let the trial propose three recipes and pick one, or none.

    Step 2 and the Inspector tab on the right (trial cards).

  4. Curate

    Check the seeds in the Gallery, adjust outlines (C), split touching seeds with the proposed cut, apply rules in batch: the dashed ghost shows the result first.

    Gallery and Inspector tabs; Semi-automatic rules under Results.

  5. Measure

    Area, length × width, Feret, solidity per object; the Axes button shows where each measurement comes from, and the "≠" warns when the shape is not elliptical.

    Inspector (one seed) and Results (the population); zoom controls → Axes.

  6. Identify

    Species, seed lot, protocol: this is what gives context to every number and enables references and tolerances.

    Step 4 in the left sidebar.

  7. Export

    CSV with one object per row (source marked: manual, ai, model, reference), PDF test report, JSON session to continue later.

    Header › Export; Results › Export test report.

Tasks

The question you ask at the bench

Isn't the scanner's DPI enough?

Calibrate so the result holds up in a publication #

The DPI the file declares is what the scan software thinks it did. We have measured a 32% difference between the declared DPI and the ruler in the image itself, and that same error carries into every sample without showing up across replicates.

  1. Scan with a ruler next to the sample, resting on the glass.
  2. Open Calibration and choose the Reference object method.Left sidebar, step 1.
  3. Click "Measure on image" and mark the two ends of a known distance on the ruler.
  4. Type the real length and click "+ Save this reading".
  5. Repeat in at least three different regions of the image, far from one another.
  6. Read the CV and the "vs. reported DPI"; click Apply.

How to check

CV below 1%, no yellow alerts, and the dpi_medido, calibracao_n and calibracao_cv_pct columns populated in the CSV.

Real recordingversion 4.0, real GPEOrq scan with a ruler: dragging from one centimeter mark to the next measures 1,885.5 px, and the scale comes out at 5.304 µm/px

Where do I start?

Count viable and non-viable seeds #

The machine proposes and the person checks: nothing enters the count until someone accepts it. That is why the proposal appears dashed, and the click is yours.

  1. Declare the mode in the footer: manual, assisted or automatic.Footer, next to the clock.
  2. Choose the Viable or Non-viable tool and click each seed.Toolbar, or the V and I keys.
  3. Wrong class? X flips it. Wrong spot? Hold Alt for the eraser. Ctrl+Z undoes the gesture.
  4. To let the program propose, use "Find" or the trial on load; accept only what you have checked.

How to check

The footer counter matches what you see; the Inspector (Results tab) shows where each object came from.

Real recordingversion 4.0, real image of durum wheat (open dataset, CC0): Find objects proposes 13 dashed outlines, the person applies them, outlines the 4 dark grains that were left out with a single click each, and reaches 17

The mark is covering the seed. Now what?

See the seed under the mark #

In a dense sample, the filled disc covers exactly what you need to check: the tetrazolium color. The mark is an annotation, not an object in the scene.

  1. With the marking tool active, click the button with the style name (Disc, Ring, Dot, Cross) to switch.Toolbar.
  2. Lower the opacity and, if needed, the size.
  3. For a crowded sample: Ring or Cross, opacity around 60%.

How to check

In every style, viable and non-viable have different shapes, not just different colors. This is on purpose, so the figure survives in black and white.

Real recordingversion 4.0, real image of orchid seeds in tetrazolium (Sementes de Orquídeas, GPEOrq, CC BY 4.0): the analyst marks 36 viable seeds with a cyan disc and 29 non-viable seeds with a magenta ring, as in the group's ground truth, and viability comes out at 55.4%

Where are the measurements?

Measure and calculate volumes #

Length, width, area, Feret and solidity come from each object's outline. Volumes need the embryo, which the scanner rarely resolves: that is why its dimensions are typed in from the microscope, and the program does the calculation with the equation written on screen.

  1. Open the Morphometry panel.Results tab, on the right.
  2. Check the median and range of length and width: always in px, in mm when calibrated.
  3. In the Volumes block, type the embryo's length and width in µm.
  4. Choose the cone-height convention and check which one the reference paper used.

How to check

The three equations are written out next to the result. A negative Air value shows a warning: it signals swapped measurements, not something about the seed.

Real recordingversion 4.0, real soybean scan (Syahraza et al. 2025, Mendeley Data, CC BY 4.0): in the Inspector, one of the 20 seeds shows area, solidity, circularity and dimensions in pixels, with the axes on the image

What is it for, and why does it stop by itself?

The footer clock #

Nobody publishes how long an image-based analysis takes, because nobody measures it. The clock counts only working time: it stops when the tab is hidden and when nobody touches anything for a minute, and it resets with each image or page.

  1. Declare the mode (manual, assisted, automatic) before you start marking.
  2. To compare methods on the same image, do the manual arm first: once you have seen the program's proposal, you cannot unsee it.

How to check

In the CSV, tempo_ativo_s and modo_analise are filled in; seconds per seed is the number you compare.

What goes in the CSV besides the measurements?

Export with provenance #

Two rows with the same 1.17 mm can come from different calibrations, pages, versions and modes, and nothing in them would give that away. Provenance lets each row answer "where did this come from?" a year later.

  1. Export → "Per seed (CSV)", one row per object.Header, Export button (Ctrl+E). "Table (CSV)" is the per-session summary, without the provenance columns.
  2. Check the columns: especie, pagina, modo_analise, tempo_ativo_s, dpi_declarado, dpi_medido, calibracao_n, versao_app, commit.

How to check

An empty field means "not measured". It is never filled in with the likely value.

Real recordingversion 4.0: the PDF test report and the spreadsheet with one row per seed come from the same menu

It froze. What do I send?

When something goes wrong #

A description without the sequence of what happened costs half an hour of back and forth. The report includes the version, the browser and the last steps, and leaves out any image, pixel or file name, so it is safe to send.

  1. Settings → Report a problem.Or the icon next to the version number, in the footer.
  2. Download report, or Copy summary to send in a message.

How to check

Your saved work stays in the browser; reloading the page does not lose it.

My treatments are doses. Can I use Tukey?

Comparing treatments: letters or a curve? #

Cultivar A versus cultivar B is a question of "which ones differ", and the answer is letters (Tukey, Scott-Knott). Dose, time, potential and temperature are levels of a continuous factor: the question becomes "how does the response change with the level, and where is the optimum", and the answer is a fitted curve. Separating doses by letters answers the wrong question.

  1. Fill in the Treatment field of each session with the level inside the label: T0, T8, T16; −0.3 MPa; 12 months.Sample metadata, before saving.
  2. Open Statistics → Treatment comparison.Tab in the header.
  3. Read the ANOVA and the letters: they still hold as a comparison of means.
  4. Right below, the "Quantitative factor" card appears on its own when three or more treatments have a number in the label. Check the "T8 → 8" row: that is the number the app read.
  5. Read the recommended degree, the equation and the optimum. An optimum outside the tested range comes with a warning: it is extrapolation, not a result.

How to check

A label with two numbers ("T8 rep2") does not become a level, on purpose. Put the replicate in its own field. If the card does not appear, fewer than three treatments have a number.

I have daily counts. How do I get t50 and uniformity?

The germination curve, without the spreadsheet #

Count the germinated seeds on consecutive days and you get a curve; final germination is only its last point. t50, uniformity and area under the curve describe speed and synchrony, and they depend on a fit that the spreadsheet ran with Solver, which sometimes stops early. Here the fit converges, and the app tells you where it differed.

  1. Open Germination.Tab in the header. If it does not appear, the current view mode hides it: change it in View.
  2. Paste the INPUT tab of the spreadsheet (code, seeds, counts per hour) or import from the longitudinal experiment.
  3. Read the parameter table. Each column shows a short help text when you hover over it.
  4. Compare treatments: ANOVA and Tukey with letters, below the curves.
  5. Export in the spreadsheet format (TSV output) for anyone who still uses Excel.

How to check

An R² below the threshold shows in yellow in the table. That fit does not describe the curve, and its t50 is not valid. Where Excel's Solver stopped early, the t50 here is different, on purpose: the fit runs until it converges.

What do I need to report so someone can reproduce this?

What goes in the paper #

A viability figure without its method means little on its own. Readers need to know how the scale was measured, whether the count was manual or proposed by the machine, and which version of the program did the calculation. All of this is already in the CSV, in columns, ready to be copied into the methods section.

  1. Calibration method: ruler in the image, number of readings and CV (columns dpi_medido, calibracao_n, calibracao_cv_pct). If only dpi_declarado is present, say that the scale is the one declared by the driver.
  2. Analysis mode (column modo_analise): manual, assisted or automatic and, if automatic, that each proposal was checked by a person.
  3. Program version and commit (columns versao_app and commit), so the analysis can be repeated on the same code.
  4. Cite the program as: AMBROSIO, E. S.; MACHADO NETO, N. B.; CUSTÓDIO, C. C.; FIGUEIREDO, M. O. V. SeedCounter: ferramenta client-side para contagem, classificação e morfometria de sementes [a client-side tool for seed counting, classification and morphometry]. GPEOrq / GPSEM, 2026. Available at: https://seedcounter.hilum.science. Add the version shown in the footer.Footer, next to Report a problem.
  5. For germination and regression, report the fitted model (four-parameter Hill; polynomial of degree n) and the criterion used to choose the degree (sequential F, p < 0.05).

How to check

Someone with the CSV and the methods text can rebuild the table without asking you anything. If a column is empty, the methods say "not measured" and do not make up a value.

Translated from the SeedCounter Help (in Portuguese), copied on October 8, 2026 (app at commit c741308). The Help inside the app is the source; when it changes, this manual changes too.