Spaces:
Configuration error
Configuration error
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,15 +1,65 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MADTOOLs helps materials researchers understand published findings, organize the relationships behind material behavior, develop new research ideas, and recover numerical data from published plots. It offers four main functions.
|
| 2 |
+
|
| 3 |
+
## 1. Research question answering
|
| 4 |
+
|
| 5 |
+
Ask questions about a collection of research papers and receive answers drawn from their content. You can explore a single collection or bring together findings from several collections to understand a topic, compare reported results, or investigate a specific materials question.
|
| 6 |
+
|
| 7 |
+
**Example question:** “What processing methods are reported to improve the strength of these alloys?”
|
| 8 |
+
|
| 9 |
+
This function helps researchers find and synthesize relevant information across their literature collections.
|
| 10 |
+
|
| 11 |
+
**Main files:**
|
| 12 |
+
|
| 13 |
+
- [main(2).py](<main(2).py>) — Coordinates document uploads, questions, and answers across selected paper collections.
|
| 14 |
+
- [pdf_text_processing(1).py](<pdf_text_processing(1).py>) — Reads research documents and prepares their text for searching.
|
| 15 |
+
- [vectorstore(1).py](<vectorstore(1).py>) — Maintains the searchable collections used to find passages relevant to a question.
|
| 16 |
+
|
| 17 |
+
## 2. System chart extraction
|
| 18 |
+
|
| 19 |
+
Turn research papers into structured tables that explain how a material's processing or composition affects its structure, and how that structure influences its properties. The charts also describe the mechanisms connecting these relationships, making it easier to see both what a study reports and why the material behaves as described.
|
| 20 |
+
|
| 21 |
+
The tool handles experimental, computational, and mixed studies. Researchers can download the extracted charts and detailed analysis, optionally generate visual diagrams, and ask follow-up questions about individual papers.
|
| 22 |
+
|
| 23 |
+
**Example use:** Organize the processing steps, resulting microstructures, and mechanical properties reported across a group of alloy studies into charts that can be compared.
|
| 24 |
+
|
| 25 |
+
**Main files:**
|
| 26 |
+
|
| 27 |
+
- [main(2).py](<main(2).py>) — Gathers papers from the selected collections and handles extraction requests, downloads, and follow-up questions.
|
| 28 |
+
- [pdf_text_processing(1).py](<pdf_text_processing(1).py>) — Extracts text and titles from uploaded papers for analysis.
|
| 29 |
+
- [system_chart_extraction(1).py](<system_chart_extraction(1).py>) — Identifies material relationships and turns them into system charts and optional diagrams.
|
| 30 |
+
- [system_chart_service(1).py](<system_chart_service(1).py>) — Coordinates the extraction process and packages charts, detailed analysis, and diagrams for download.
|
| 31 |
+
- [prompts(1).py](<prompts(1).py>) — Defines the questions and instructions used to analyze different types of research papers.
|
| 32 |
+
- [conversation_storage(1).py](<conversation_storage(1).py>) — Keeps each paper's analysis conversation available for follow-up discussion during the running session.
|
| 33 |
+
|
| 34 |
+
## 3. Research hypothesis generation
|
| 35 |
+
|
| 36 |
+
Use system charts from multiple papers to propose new material design ideas aimed at achieving two properties together, such as high strength and good ductility. Researchers can specify those goals directly or describe their design objective and have the tool suggest two target properties.
|
| 37 |
+
|
| 38 |
+
The tool looks for mechanisms and structural features from different studies that could work together. It produces hypotheses explaining the proposed combination and its scientific rationale, with references to the contributing papers. Researchers can generate multiple sets of ideas, download the results, and discuss individual hypotheses using the available source material.
|
| 39 |
+
|
| 40 |
+
**Example use:** Explore how a strengthening mechanism from one study might be combined with a ductility-promoting feature from another to guide a new alloy design.
|
| 41 |
+
|
| 42 |
+
These hypotheses are proposals for further investigation and experimental or computational validation.
|
| 43 |
+
|
| 44 |
+
**Main files:**
|
| 45 |
+
|
| 46 |
+
- [main(2).py](<main(2).py>) — Handles chart uploads, design goals, generation requests, and discussions of hypotheses using available source papers.
|
| 47 |
+
- [hypotheses_generation(1).py](<hypotheses_generation(1).py>) — Combines chart findings and citations, generates ideas across papers, and organizes the numbered hypotheses.
|
| 48 |
+
- [hypotheses_service(1).py](<hypotheses_service(1).py>) — Checks the supplied chart content, coordinates generation, and prepares the downloadable results.
|
| 49 |
+
- [prompts(1).py](<prompts(1).py>) — Guides the selection of two design goals and the development of hypotheses that aim to achieve both.
|
| 50 |
+
|
| 51 |
+
## 4. Plot data extraction (PlotExtract)
|
| 52 |
+
|
| 53 |
+
Turn images of research plots into numerical data when the original data files are unavailable. Upload or paste a PNG or JPG image, or upload a ZIP of images to process several figures together. PlotExtract reads approximate x and y values from the plotted points and curves and returns a CSV table with axis and curve labels.
|
| 54 |
+
|
| 55 |
+
The tool recreates each plot from the extracted data and checks its axes, point counts, and trends against the original to help researchers review the result. For individual images, researchers can calibrate the axes and drag, add, or remove points to improve the extraction. Results include CSV data, recreated plots, and plotting code; batch results are available as a downloadable ZIP.
|
| 56 |
+
|
| 57 |
+
**Example use:** Recover stress–strain data from a published figure, compare the recreated curves with the original, and correct individual points before using the data in further analysis.
|
| 58 |
+
|
| 59 |
+
**Main files:**
|
| 60 |
+
|
| 61 |
+
- [plotextract/app.py](<plotextract/app.py>) — Extracts data from plot images, recreates and compares plots, and prepares results for individual images or batches.
|
| 62 |
+
- [plotextract/templates/index.html](<plotextract/templates/index.html>) — Provides the page for uploading plots, viewing results, and accessing manual corrections.
|
| 63 |
+
- [plotextract/static/app.js](<plotextract/static/app.js>) — Handles image uploads and pasting, displays results, and supports axis calibration and point editing.
|
| 64 |
+
- [plotextract/static/styles.css](<plotextract/static/styles.css>) — Defines the layout and appearance of the plot previews, results, and editing controls.
|
| 65 |
+
- [main(2).py](<main(2).py>) — Makes PlotExtract available within the main application at `/plotextract`.
|