Corpus Engine Towards a reproducible .science file.
← All .science files

pmid:32377220

DiSCount: computer vision for automated quantification of Striga seed germination.

Raul Masteling · Lodewijk Voorhoeve · Joris IJsselmuiden · Francisco Dini-Andreote · Wietse de Boer · Jos M Raaijmakers

Plant methods · 2020 doi:10.1186/s13007-020-00602-8

Paper

complete

Experiment

partial

Data

partial

Analysis

absent

Execution

absent

Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
id
pmid:32377220
kind
science-record
content_hash
sha256:fa412c30a13274b4c235d78c74fa1e2e67c335747bb19433a90421dedf3be7c8
schema
https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json
created_at
2026-11-01T15:41:00Z
updated_at
2026-11-01T18:52:24Z
generator object · 2 fields
name
corpus-assay-engine
run_id
reading-sci-2026-11-01
paper object · 10 fields
state
complete
title
DiSCount: computer vision for automated quantification of Striga seed germination.
doi
10.1186/s13007-020-00602-8
pmid
32377220
authors array · 6 items
[0]
Raul Masteling
[1]
Lodewijk Voorhoeve
[2]
Joris IJsselmuiden
[3]
Francisco Dini-Andreote
[4]
Wietse de Boer
[5]
Jos M Raaijmakers
journal
Plant methods
year
2020
abstract
BACKGROUND: Plant parasitic weeds belonging to the genus Striga are a major threat for food production in Sub-Saharan Africa and Southeast Asia. The parasite's life cycle starts with the induction of seed germination by host plant-derived signals, followed by parasite attachment, infection, outgrowth, flowering, reproduction, seed set and dispersal. Given the small seed size of the parasite (< 200 μm), quantification of the impact of new control measures that interfere with seed germination relies on manual, labour-intensive counting of seed batches under the microscope. Hence, there is a need for high-throughput assays that allow for large-scale screening of compounds or microorganisms that adversely affect Striga seed germination. RESULTS: Here, we introduce DiSCount (Digital Striga Counter): a computer vision tool for automated quantification of total and germinated Striga seed numbers in standard glass fibre filter assays. We developed the software using a machine learning approach trained with a dataset of 98 manually annotated images. Then, we validated and tested the model against a total dataset of 188 manually counted images. The results showed that DiSCount has an average error of 3.38 percentage points per image compared to the manually counted dataset. Most importantly, DiSCount achieves a 100 to 3000-fold speed increase in image analysis when compared to manual analysis, with an inference time of approximately 3 s per image on a single CPU and 0.1 s on a GPU. CONCLUSIONS: DiSCount is accurate and efficient in quantifying total and germinated Striga seeds in a standardized germination assay. This automated computer vision tool enables for high-throughput, large-scale screening of chemical compound libraries and biological control agents of this devastating parasitic weed. The complete software and manual are hosted at https://gitlab.com/lodewijk-track32/discount_paper and the archived version is available at Zenodo with the DOI 10.5281/zenodo.3627138. The dataset used for testing is available at Zenodo with the DOI 10.5281/zenodo.3403956.
claims array · 1 item
[0] object · 6 fields
id
claim-data-access
statement
The software and user manual are freely available at https://gitlab.com/lodewijk-track32/discount_paper. The archived version of the repository is available at 10.5281/zenodo.3627138. The dataset analysed to assess the performance of the software is publically available at 10.5281/zenodo.3403956. The input dataset used to test the installation of the software is publically available at 10.5281/zenodo.3404131.
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:32377220
locator
sections[13] "Availability of data and materials" paragraph 2
quote
The software and user manual are freely available at https://gitlab.com/lodewijk-track32/discount_paper. The archived version of the repository is available at 10.5281/zenodo.3627138. The dataset analysed to assess the performance of the software is publically available at 10.5281/zenodo.3403956. The input dataset used to test the installation of the software is publically available at 10.5281/zenodo.3404131.
state
complete
gaps array · 0 items
experiment object · 8 fields
state
partial
objective
null
steps array · 3 items
[0] object · 13 fields
id
read_published_estimate
order
1
name
Read the published estimate from the source
kind
other
state
complete
blocked_on
null
description
The claim, method and evidence span published with the source article.
parameters object · 0 fields
inputs array · 1 item
[0]
source:pmid:32377220
outputs array · 1 item
[0]
the published estimate and its evidence
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
id
obtain_source_data
order
2
name
Obtain the source data from the named repository
kind
data-preparation
state
blocked
blocked_on
data:accession_absent
description
The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the source data with its repository provenance
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
id
run_analysis
order
3
name
Run the published analysis
kind
analysis
state
complete
blocked_on
null
description
Apply the paper's statistical method to the resolved series and compare the result with the published target.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the replicated result and its comparison
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
[0]
step:obtain_source_data blocked on data:accession_absent
data object · 3 fields
state
partial
assets array · 2 items
[0] object · 15 fields
id
source:pmid:32377220
role
manuscript
format
xml
media_type
application/xml
uri
https://doi.org/10.1186/s13007-020-00602-8
sha256
sha256:398cd6071c37689921c4491b05a4889fb43fef1cec902800e207d7b05d21d045
bytes
34736
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
10.1186/s13007-020-00602-8
version
null
note
Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.
structure object · 4 fields
pmcid
PMC7195706
source
europe_pmc_fulltext
coverage
whole_body
text_hash_scope
rendered_section_body
[1] object · 16 fields
id
asset:table:pmid:32377220:1
role
table
format
jats-table
media_type
application/vnd.jats.table+json
uri
null
sha256
sha256:151764b3cc89662114d51fefd339fd7aa6d33ed2605248b5e5886292b3f9a768
bytes
422
access
open
state
verified
reader
read_table
reader_status
available
identifier
section[8]/table-wrap[1]#Tab1
version
null
note
Test results of the model versus the hand-count
structure object · 5 fields
pmcid
PMC7195706
section_index
8
section_title
Results and discussion
row_count
4
column_count
5
table object · 8 fields
label
Table 1
caption
Test results of the model versus the hand-count
rows array · 4 items
[0] array · 5 items
[0]
[1]
Seeds
[2]
Radicles
[3]
Average germination (%)
[4]
Average difference per image (percentage points)
[1] array · 5 items
[0]
Hand-count
[1]
4848
[2]
910
[3]
21.42
[4]
3.38
[2] array · 5 items
[0]
DiSCount
[1]
4486
[2]
851
[3]
20.03
[4]
[3] array · 5 items
[0]
Underestimation (%)
[1]
7.467
[2]
6.484
[3]
[4]
locator
section[8]/table-wrap[1]#Tab1
gaps array · 0 items
analysis object · 4 fields
state
absent
methods array · 0 items
targets array · 0 items
gaps array · 2 items
[0]
method
[1]
operations
capability object · 3 fields
state
complete
requirements array · 1 item
[0] object · 6 fields
capability_id
capability:computational_analysis
label
Computational analysis platform
assay_families array · 9 items
[0]
meta_analysis
[1]
machine_learning
[2]
survival_analysis
[3]
statistical_regression
[4]
pca
[5]
molecular_docking
[6]
network_analysis
[7]
differential_expression
[8]
gwas
candidate
Automated Assays Laravel application and simulated adapters
gaps array · 0 items
readiness object · 8 fields
state
blocked
tier
R4
blocked_on
data:accession_absent
axes object · 3 fields
method object · 5 fields
tier
R4
expressible
false
required_operations array · 0 items
missing_operations array · 0 items
basis
The reader quoted the method the paper names (not named), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible.
capability object · 4 fields
tier
R1
capability_id
capability:computational_analysis
availability_state
owned
basis
The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here.
data object · 6 fields
tier
R4
reachable
false
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
[0]
The software and user manual are freely available at https://gitlab.com/lodewijk-track32/discount_paper. The archived version of the repository is available at 10.5281/zenodo.3627138. The dataset analysed to assess the performance of the software is publically available at 10.5281/zenodo.3403956. The input dataset used to test the installation of the software is publically available at 10.5281/zenodo.3404131.
basis
The paper names no accession to its source data, so the data has to come from the authors.
can_run object · 3 fields
dsl_operations array · 0 items
assets array · 2 items
[0]
source:pmid:32377220
[1]
asset:table:pmid:32377220:1
steps array · 1 item
[0]
run_analysis
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
[0]
data:geo:None
gaps array · 1 item
[0]
data:accession_absent
review object · 5 fields
state
partial
machine_critique object · 5 fields
kind
extraction_review
reader object · 5 fields
model
MiniMax-M3.1-Flash
provider
minimax
provider_family
minimax
read_at
2026-10-31T18:19:47Z
independence
single_reader
evidence_check object · 2 fields
method
null
availability
verbatim
calls
3
usage object · 3 fields
prompt_tokens
26984
completion_tokens
1513
cached_tokens
9224
stages array · 1 item
[0] object · 4 fields
id
extraction
state
complete
reader
MiniMax-M3.1-Flash
provider
minimax
gaps array · 3 items
[0]
review.independent_reader
[1]
review.machine_critique
[2]
review.human_critique
execution object · 5 fields
state
absent
status
not_run
mode
null
runs array · 0 items
gaps array · 1 item
[0]
execution.not_run
provenance object · 7 fields
entities array · 3 items
[0] object · 3 fields
id
pmid:32377220
type
paper
label
pmid:32377220
[1] object · 3 fields
id
source:pmid:32377220
type
manuscript
label
PMID 32377220 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
activities array · 3 items
[0] object · 4 fields
id
activity-reading-sci-2026-11-01
type
classification
used array · 3 items
[0] object · 3 fields
id
pmid:32377220
type
paper
label
pmid:32377220
[1] object · 3 fields
id
source:pmid:32377220
type
manuscript
label
PMID 32377220 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
agent
agent:corpus-assay-engine
[1] object · 4 fields
id
activity-read-32377220
type
extraction
used array · 1 item
[0]
source:pmid:32377220
agent
agent:minimax-reader
[2] object · 4 fields
id
activity-resolve-None
type
accession_resolution
used array · 1 item
[0]
data:geo:None
agent
agent:corpus-assay-engine
agents array · 2 items
[0] object · 3 fields
id
agent:corpus-assay-engine
type
software
label
Corpus assay engine
[1] object · 3 fields
id
agent:minimax-reader
type
software
label
MiniMax literature reader
source_run_id
reading-sci-2026-11-01
dsl_catalogue_fingerprint
343fb30756ba6ec3
capability_table_fingerprint
2cb3e42f047d2ecf
snapshot_id
ba34b49490d9bfaf
lineage object · 4 fields
parent_id
pmid:32377220
parent_hash
sha256:e1f2b5f3b49f636b5df7ff84a7209837266a8a7e3ebc85485122cfd9e5b1381e
fork_of
null
gaps array · 7 items
[0]
execution.not_run
[1]
method
[2]
operations
[3]
review.human_critique
[4]
review.independent_reader
[5]
review.machine_critique
[6]
step:obtain_source_data blocked on data:accession_absent
Complete file
{"sci_version": "1.0", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:32377220", "kind": "science-record", "revision": 3, "content_hash": "sha256:fa412c30a13274b4c235d78c74fa1e2e67c335747bb19433a90421dedf3be7c8", "created_at": "2026-11-01T15:41:00Z", "updated_at": "2026-11-01T18:52:24Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "DiSCount: computer vision for automated quantification of Striga seed germination.", "doi": "10.1186/s13007-020-00602-8", "pmid": "32377220", "authors": ["Raul Masteling", "Lodewijk Voorhoeve", "Joris IJsselmuiden", "Francisco Dini-Andreote", "Wietse de Boer", "Jos M Raaijmakers"], "journal": "Plant methods", "year": 2020, "abstract": "BACKGROUND: Plant parasitic weeds belonging to the genus Striga are a major threat for food production in Sub-Saharan Africa and Southeast Asia. The parasite's life cycle starts with the induction of seed germination by host plant-derived signals, followed by parasite attachment, infection, outgrowth, flowering, reproduction, seed set and dispersal. Given the small seed size of the parasite (< 200 μm), quantification of the impact of new control measures that interfere with seed germination relies on manual, labour-intensive counting of seed batches under the microscope. Hence, there is a need for high-throughput assays that allow for large-scale screening of compounds or microorganisms that adversely affect Striga seed germination.\nRESULTS: Here, we introduce DiSCount (Digital Striga Counter): a computer vision tool for automated quantification of total and germinated Striga seed numbers in standard glass fibre filter assays. We developed the software using a machine learning approach trained with a dataset of 98 manually annotated images. Then, we validated and tested the model against a total dataset of 188 manually counted images. The results showed that DiSCount has an average error of 3.38 percentage points per image compared to the manually counted dataset. Most importantly, DiSCount achieves a 100 to 3000-fold speed increase in image analysis when compared to manual analysis, with an inference time of approximately 3 s per image on a single CPU and 0.1 s on a GPU.\nCONCLUSIONS: DiSCount is accurate and efficient in quantifying total and germinated Striga seeds in a standardized germination assay. This automated computer vision tool enables for high-throughput, large-scale screening of chemical compound libraries and biological control agents of this devastating parasitic weed. The complete software and manual are hosted at https://gitlab.com/lodewijk-track32/discount_paper and the archived version is available at Zenodo with the DOI 10.5281/zenodo.3627138. The dataset used for testing is available at Zenodo with the DOI 10.5281/zenodo.3403956.", "claims": [{"id": "claim-data-access", "statement": "The software and user manual are freely available at https://gitlab.com/lodewijk-track32/discount_paper. The archived version of the repository is available at 10.5281/zenodo.3627138. The dataset analysed to assess the performance of the software is publically available at 10.5281/zenodo.3403956. The input dataset used to test the installation of the software is publically available at 10.5281/zenodo.3404131.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:32377220", "locator": "sections[13] \"Availability of data and materials\" paragraph 2", "quote": "The software and user manual are freely available at https://gitlab.com/lodewijk-track32/discount_paper. The archived version of the repository is available at 10.5281/zenodo.3627138. The dataset analysed to assess the performance of the software is publically available at 10.5281/zenodo.3403956. The input dataset used to test the installation of the software is publically available at 10.5281/zenodo.3404131."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": null, "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:32377220"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:32377220", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1186/s13007-020-00602-8", "sha256": "sha256:398cd6071c37689921c4491b05a4889fb43fef1cec902800e207d7b05d21d045", "bytes": 34736, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1186/s13007-020-00602-8", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC7195706", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}, {"id": "asset:table:pmid:32377220:1", "role": "table", "format": "jats-table", "media_type": "application/vnd.jats.table+json", "uri": null, "sha256": "sha256:151764b3cc89662114d51fefd339fd7aa6d33ed2605248b5e5886292b3f9a768", "bytes": 422, "access": "open", "state": "verified", "reader": "read_table", "reader_status": "available", "identifier": "section[8]/table-wrap[1]#Tab1", "version": null, "note": "Test results of the model versus the hand-count", "structure": {"pmcid": "PMC7195706", "section_index": 8, "section_title": "Results and discussion", "row_count": 4, "column_count": 5}, "table": {"label": "Table 1", "caption": "Test results of the model versus the hand-count", "rows": [["", "Seeds", "Radicles", "Average germination (%)", "Average difference per image (percentage points)"], ["Hand-count", "4848", "910", "21.42", "3.38"], ["DiSCount", "4486", "851", "20.03", ""], ["Underestimation (%)", "7.467", "6.484", "", ""]], "row_count": 4, "column_count": 5, "numeric_cells": 9, "header_rows": 1, "locator": "section[8]/table-wrap[1]#Tab1"}}], "gaps": []}, "analysis": {"state": "absent", "methods": [], "targets": [], "gaps": ["method", "operations"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R4", "expressible": false, "required_operations": [], "missing_operations": [], "basis": "The reader quoted the method the paper names (not named), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["The software and user manual are freely available at https://gitlab.com/lodewijk-track32/discount_paper. The archived version of the repository is available at 10.5281/zenodo.3627138. The dataset analysed to assess the performance of the software is publically available at 10.5281/zenodo.3403956. The input dataset used to test the installation of the software is publically available at 10.5281/zenodo.3404131."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": [], "assets": ["source:pmid:32377220", "asset:table:pmid:32377220:1"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-10-31T18:19:47Z", "independence": "single_reader"}, "evidence_check": {"method": null, "availability": "verbatim"}, "calls": 3, "usage": {"prompt_tokens": 26984, "completion_tokens": 1513, "cached_tokens": 9224}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:32377220", "type": "paper", "label": "pmid:32377220"}, {"id": "source:pmid:32377220", "type": "manuscript", "label": "PMID 32377220 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:32377220", "type": "paper", "label": "pmid:32377220"}, {"id": "source:pmid:32377220", "type": "manuscript", "label": "PMID 32377220 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-32377220", "type": "extraction", "used": ["source:pmid:32377220"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:32377220", "parent_hash": "sha256:e1f2b5f3b49f636b5df7ff84a7209837266a8a7e3ebc85485122cfd9e5b1381e", "fork_of": null, "generation": 2}, "gaps": ["execution.not_run", "method", "operations", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"]}