Commit 25e84b7
authored
Restructure datablocks, unify factory system, and standardize switchable-category API (#128)
* Refactor validation imports and remove unused DataTypes references
* Refactor value specification to use 'data_type' instead of 'type_' in AttributeSpec
* Refactor content_validator to validator in AttributeSpec
* Refactor Cell class constructor to use default parameters and simplify attribute setting
* Refactor AtomSite and SpaceGroup initializers to remove parameters and improve clarity
* Refactor constructors in multiple classes to remove parameters and use property setters
* Refactor add method to accept only keyword arguments for improved clarity
* Refactor initialization of descriptors in multiple classes for consistency
* Remove value initialization from validation class constructor
* Refactor parameter value specification to remove DataTypes dependency
* Refactor parameter initialization and property methods in mixin files
* Refactor: streamline CIF handler initialization and add public property comments
* Refactor ExperimentType initialization to use property setters
* Refactor ExperimentType initialization to use property setters
* Add temporary test script
* Initialize parent class in guard.py constructor
* Refactor peak-profile mixins to remove unused broadening and asymmetry methods
* Refactor broadening parameter comments and remove unused initializations in TofPeak
* Refactor parameter definitions to streamline unit assignments in various modules
* Refactor CIF handler initialization for clarity and consistency
* Refactor constructors in PdDataPoint mixins to remove kwargs
* Refactor parameters module to variable module; update imports across multiple files
* Refactor import statements for consistency and clarity
* Refactor sample models to structures in project and related files
* Refactor terminology from "sample" to "structure" in documentation and code comments
* More refactoring from sample models to structures
* Refactor factory methods, etc.
* Refactor method names from `add_from_scratch` to `create` for consistency across collections
* Rebuild classes structure
* Refactor validation module by removing unused type checking decorator
* Refactor PeakProfileTypeEnum to consider auto-extraction of peak profile info
* Add revised design for all factories
* Improve revised design for all factories
* Add copilot instructions for EasyDiffraction project
* Update all init files
* Refactor metadata handling
* Refactor type hints for optional parameters in collection.py
* Add per-file ignores for __init__.py in Ruff configuration
* Add TOF instrument and peak profile classes with compatibility and calculator support
* Clarify usage of keyword arguments in copilot instructions
* Add metadata dataclasses for factory-created classes
* Refactor setter methods for improved readability and consistency
* Refactor formatting of beam_mode and calculators in Chebyshev class
* Update copilot instructions to clarify beta project guidelines
* Update copilot instructions to clarify refactoring guidelines
* Add architecture documentation for EasyDiffraction library
* Refactor calculator management for joint and sequential fitting in experiments
* Refactor code blocks in architecture.md to specify shell syntax highlighting
* Document current and potential architectural issues in the codebase
* Document current and potential issues in architecture
* Document limitations of `FactoryBase` regarding constructor-variant registrations
* Refactor calculator and minimizer factory methods for consistency and clarity
* Refactor architecture documentation for improved clarity and consistency
* Refactor logging and docstring formatting in analysis and factory modules
* Refactor calculator and minimizer factory to use tag strings; update tests accordingly
* Refactor core factory structure to eliminate duplication and unify metadata handling
* Add initial experiment setup and analysis workflow for hrpt project
* Update easydiffraction version and SHA-256 hash in pixi.lock
* Refactor architecture documentation to clarify factory structures and display methods
* Remove unused exports from __init__.py to streamline module interface
* Refactor string quotes in test.py for consistency and readability
* unify CollectionBase key resolution, add __contains__ and remove()
* Make ExperimentType immutable after creation
* Make peak and background read-only public properties
* Document editable vs read-only property convention with _set_ private methods
* Standardize switchable-category naming convention
* Apply formatting
* Refactor Analysis class to instantiate calculator in __init__ and remove class-level attribute
* Remove duplicated symmetry methods from Structure
* Route constraint updates through validated setter
* Override _key_for in CategoryCollection and DatablockCollection
* Warn when switching background or peak profile type
* Document why minimisers bypass the value setter
* Replace 'lmfit (leastsq)' with 'lmfit' in tests, tutorials, and docs
* Consolidate revised-design-v5.md into architecture.md
* Apply formatting
* Update copilot instructions for linting and testing workflow
* Enable dirty-flag guard via _set_value_from_minimizer
* Add factory.py and metadata.py to package structure documentation
* Consolidate all issues into issues.md and update copilot instructions
* Move calculator from global Analysis to per-experiment
* Add Bragg+PDF joint tutorial, multi-experiment docs section, and test
* Temporarily disable Bragg+PDF joint fit until test is improved
* Add universal factories for Extinction and LinkedCrystal
* Add universal factories for all remaining categories
* Update tutorial #14
* Add switchable-category API to all factory-created categories
* Add switchable-category API for instrument and data on experiments
* Filter show_supported_instrument_types by experiment context
* Add target-audience and reliability instructions to copilot config
* Convert fit_mode to CategoryItem
* Convert fit_mode to factory-based category with enum comparison
* Add flat category structure rule to architecture.md
* Consolidate architecture docs and fix stale references
* Restructure help() to show Parameters, Properties, and Methods tables
* Auto-populate Analysis.help() from class introspection
* Refine eager-imports rule to document lazy-import exceptions
* Update tutorial structure in mkdocs.yml for clarity and consistency
* Update issues list
* Add instruction to run tutorial tests after changes
* Refactor background type naming for consistency
* Delete test.py
* Fix tutorial failures and stale calculator cache with excluded regions
* Update issues
* Update tutorial names and copyright year1 parent 6a52ea9 commit 25e84b7
265 files changed
Lines changed: 13467 additions & 6365 deletions
File tree
- .github
- docs
- api-reference
- datablocks
- architecture
- tutorials
- user-guide
- analysis-workflow
- src/easydiffraction
- analysis
- calculators
- categories
- aliases
- constraints
- fit_mode
- joint_fit_experiments
- fit_helpers
- minimizers
- core
- datablocks
- experiment
- categories
- background
- data
- excluded_regions
- experiment_type
- extinction
- instrument
- linked_crystal
- linked_phases
- peak
- item
- structure
- categories
- atom_sites
- cell
- space_group
- item
- display
- plotters
- experiments
- categories
- background
- data
- instrument
- peak
- experiment
- io/cif
- project
- sample_models
- categories
- sample_model
- summary
- utils
- tests
- integration
- fitting
- scipp-analysis/dream
- unit/easydiffraction
- analysis
- calculators
- categories
- fit_helpers
- minimizers
- core
- datablocks
- experiment
- categories
- background
- data
- instrument
- peak
- item
- structure
- categories
- item
- display
- plotters
- experiments
- categories
- background
- instrument
- peak
- experiment
- io/cif
- project
- sample_models
- categories
- sample_model
- summary
- tmp
- tutorials
- data
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
16 | 21 | | |
17 | 22 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
This file was deleted.
0 commit comments