Bibliographic record
Abstract
Release Notes This release changes many internal aspects of the code, will make future improvements easier, and will hopefully make it easier for more people to understand their results and contribute. The denoising results should be identical. Right before releasing this new version, we released version 0.0.13, which is the last version of the older code. If you want to confirm the consistency of results, these are the two versions you should compare. Instructions for comparing results are below. Key changes Large portions of the code were reorganized and modularized to make understanding the code easier and facilitate future development Breaking change: tedana can no longer be used to manually change component classifications. A separate program, ica_reclassify, can be used for this. This makes it easier for programs like Rica to output a list of component numbers to change and to then change them with ica_reclassify. The component classification process that designates components as "accepted" or "rejected" was completely rewritten so that every step in the process is modular and the inputs and outputs of every step are logged. The documentation includes descriptions of the newly outputted files and file contents. It is now possible to select different decision trees for component selection using the --tree option. The default tree is kundu and should replicate the current outputs. We also include minimal which is a simpler tree that is intended to provide more consistent results across a study, but still needs more testing and validation and may still change. Flow charts for these two options are here. Anyone can create their own decision tree. If one is using metrics that are already calculated, like kappa and rho, and doing greater/less than comparisons, one can make a decision tree with a user-provided json file. More complex calculations might require editing the tedana python code. This change also means any metric that has one value per component can be used in a selection process. This makes it possible to combine the multi-echo metrics used in tedana with other selection metrics, such as correlations to head motion. The documentation includes instructions on building and understanding this component selection process. Breaking change: No components are classified as ignored. "Ignored" has long confused users. It was intended to identify components with such low variation that it wasn't worth deciding whether to lose a statistical degree of freedom by rejecting them. They were treated identically to accepted components. Now they are classified as "accepted" and tagged as "Low variance" or "Borderline Accept". These classification tags now appear on the html report of the results. A registry of all files outputted by tedana is now stored with the outputs. This allows for multiple file naming methods and means internal and external programs that want to interact with the tedana outputs just need to load this file. Nearly 100% of the new code and 98% of all tedana code is covered by integration testing. Tedana python package management now uses pyproject.toml Minimum python version is now 3.8 and minimum pandas version is now 2.0 (might cause problems if the same python environment is used for packages that require older versions of pandas) More comprehensive documentation of changes is in pull request #756 and the full release notes are here: https://github.com/ME-ICA/tedana/releases/tag/23.0.0 Changes [REF] Decision Tree Modularization (#756) @jbteves @handwerkerd @n-reddy @marco7877 @tsalo
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.005 | 0.020 |
| Meta-epidemiology (narrow) | 0.003 | 0.003 |
| Meta-epidemiology (broad) | 0.002 | 0.003 |
| Bibliometrics | 0.002 | 0.001 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.005 | 0.004 |
| Open science | 0.006 | 0.003 |
| Research integrity | 0.002 | 0.006 |
| Insufficient payload (model declined to judge) | 0.349 | 0.370 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".