Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
644 commits
Select commit Hold shift + click to select a range
3e8500f
Adding relevance oracle for scalar targets
jadie1 Dec 6, 2024
7ad9c83
Adding eps to avoid zero division
jadie1 Dec 6, 2024
9ad7d23
Adding zero-shot relevance comp. reg. ADM
jadie1 Dec 9, 2024
8aa1110
Adding optional zero-shot relevance prediction to comp. reg. ADM
jadie1 Dec 10, 2024
2b79246
Adding binary ICL for relevance
jadie1 Dec 11, 2024
5db72cc
Switching relevance prediciton to be yes/no
jadie1 Dec 11, 2024
c0fb371
Expanding relevance ICL and adding relevance reasoning to justification
jadie1 Dec 12, 2024
1952bab
Add multi-KDMA targets for testing
eveenhuis Dec 6, 2024
7a1a043
Adding relevance oracle for scalar targets
jadie1 Dec 6, 2024
5fc47c9
Adding eps to avoid zero division
jadie1 Dec 6, 2024
906c965
Adding zero-shot relevance comp. reg. ADM
jadie1 Dec 9, 2024
6904bf2
Adding optional zero-shot relevance prediction to comp. reg. ADM
jadie1 Dec 10, 2024
0e09ae1
Adding binary ICL for relevance
jadie1 Dec 11, 2024
32743e1
Switching relevance prediciton to be yes/no
jadie1 Dec 11, 2024
a0ae246
Expanding relevance ICL and adding relevance reasoning to justification
jadie1 Dec 12, 2024
d7dbf15
Merge branch 'dev/relevance' of https://github.com/ITM-Kitware/align-…
jadie1 Dec 16, 2024
658c925
Removing one-step relevance prediction
jadie1 Dec 16, 2024
e033dbc
Adding relevance alingment function to hybrid kaleido ADM
jadie1 Dec 16, 2024
f3bdbe7
Initial working version of outlines based personas ADM
dmjoy Sep 6, 2024
a86c507
Add configs for outlines based personas ADM
dmjoy Sep 6, 2024
c9cefb1
Quickfix for ingroup bias in KDMA_TO_PROBE_MAPPING
dmjoy Sep 6, 2024
bc46184
Add basic support for backstory selection from distribution target
dmjoy Sep 17, 2024
d4abcf5
Fix issue with scalar alignment target backstory selection
dmjoy Sep 17, 2024
6521bf4
Raise an error if we get an unexpected alignment target type
dmjoy Sep 17, 2024
e92eac0
Update CHANGELOG wrt added outlines based persona ADM
dmjoy Dec 5, 2024
bfec733
Adding phase1 train files
jadie1 Dec 17, 2024
f033a10
Small fixes
jadie1 Dec 17, 2024
0760e21
Merging with main
jadie1 Dec 17, 2024
c3b443d
Updating ST ICL files
jadie1 Dec 17, 2024
ff4bc14
Adding distribution alignment with relevance
jadie1 Dec 17, 2024
a3e3a46
Adding relevance comp reg with distribution targets
jadie1 Dec 17, 2024
5debe28
Cleaning up configs
jadie1 Dec 18, 2024
9f4fb2c
Updating irrelevant ICL COT reasoning
jadie1 Dec 18, 2024
8991298
Update CHANGELOG.md
jadie1 Dec 18, 2024
d6c8d95
Removing sampling from relevance prediction
jadie1 Dec 18, 2024
a2e9000
Merge pull request #156 from ITM-Kitware/dev/relevance
jadie1 Dec 19, 2024
f74cdba
Log true relevance for comp reg
eveenhuis Dec 19, 2024
b78595c
Adding cumulative KDE alignment with or without relevance for hybrid …
jadie1 Dec 19, 2024
85589ca
Fixing relevance keys
jadie1 Dec 19, 2024
74caeea
Update CHANGELOG.md
jadie1 Dec 19, 2024
637ed15
Fix relevance to be float rather than list
jadie1 Dec 19, 2024
f78d005
Change choice_history default arg to None
dmjoy Dec 20, 2024
b750b53
Adding mulit-kdma configs
jadie1 Dec 19, 2024
48479fc
Fixing name typo for consistency
jadie1 Dec 20, 2024
9630071
Single heuristic treatment bugfix
eveenhuis Jan 30, 2025
1401e4f
Add initial integration test driver script
dmjoy Jan 29, 2025
3a0d22b
Fix exit status of integration test driver script; misc cleanup
dmjoy Jan 29, 2025
30b456c
Add comp reg ICL soartech integration test
dmjoy Jan 29, 2025
6fa2b5d
Add exemption logic to integration test diffs
dmjoy Jan 31, 2025
81d26ee
Add integration test for adept comp reg adm
dmjoy Jan 31, 2025
f439451
Add random adm to integration tests (good quick smoketest)
dmjoy Jan 31, 2025
9e06dfe
Add documentation for integration tests, update changelog
dmjoy Jan 31, 2025
00c7bd2
Add more integration tests; fix issue with markup tags in test diffs
dmjoy Feb 6, 2025
177bb74
Add hybrid kaleido ADM to integration tests
dmjoy Feb 7, 2025
beb5daa
Add multi kdma configs for ADEPT eval_as_train
dmjoy Dec 30, 2024
de8609b
Remove MJ4 eval scenario from ingroup bias configs as no IB probes
dmjoy Dec 31, 2024
bff99da
Add eval-as-train configs for SoarTech for multi-kdma relevance exp
dmjoy Jan 1, 2025
1fe808e
Update Phase1 SoarTech group targets to their server convention
dmjoy Feb 26, 2025
9856c2f
Add NAACL24 dataset files with adm, alignment, experiment configs
barry-ravichandran Mar 17, 2025
95b4130
Move naacl24 kdmas to new yaml file and add baseline adm config
barry-ravichandran Mar 18, 2025
c95cd17
Fix low-high kdma prompt selection range
barry-ravichandran Mar 18, 2025
6e97e2d
Fix scenario state description across all KDMAs
barry-ravichandran Mar 25, 2025
c7afb4d
Initial support for Opinion QA dataset
dmjoy Mar 20, 2025
e30eda5
Tweaks and files needed for OpinionQA dataset experiments
dmjoy Mar 20, 2025
a6d0dd9
Fixes for save_last_unstructured_state_per_scenario
dmjoy Mar 25, 2025
2e03758
Add config for naacl24 kaleido runs
dmjoy Mar 20, 2025
44fd6d5
Fix dataset validation errors
PaulHax Apr 1, 2025
71ae209
Add demo related args to outlines_adm
PaulHax Mar 24, 2025
89f5835
Factor get_dialogs to static method in outlines_adm
PaulHax Mar 24, 2025
6b09b81
Update CHANGELOG and version for 0.5.7 release
dmjoy Apr 2, 2025
6f85340
Update package versions and integration test expected outputs
dmjoy Mar 14, 2025
69b916b
Updated poetry lockfile
barry-ravichandran Apr 9, 2025
7d14c89
Outlines ADM tweaks to support determinism (mainly for baseline ADM)
dmjoy Apr 14, 2025
3d3d3dc
Updated changelog
dmjoy Apr 14, 2025
2596773
Add data model(s) and configs for attributes
dmjoy Feb 13, 2025
ccf8335
Add outlines inference engine component
dmjoy Feb 14, 2025
737eb83
Initial progress on component based pipeline ADM
dmjoy Feb 19, 2025
8c748cb
Add comparative regression kdma estimator component
dmjoy Feb 20, 2025
8078c62
Add alignment ADM component
dmjoy Feb 21, 2025
aabb8ab
Simplify pipeline_adm config
dmjoy Feb 24, 2025
5c2dc2c
Add system prompt and logging
dmjoy Mar 3, 2025
04b9ae8
WIP; attempt to break out and standardize some templates
dmjoy Mar 6, 2025
b8eca3e
Add custom reference/resolver for hydra configs for shared objects
dmjoy Mar 12, 2025
c39b9e1
Break out some pipeline ADM config components
dmjoy Mar 12, 2025
1a78d04
Initial (rough) cut at action parameter filling component
dmjoy Mar 13, 2025
cda81ab
Fix race condition in initialize with custom references
dmjoy Mar 17, 2025
7519fd2
Remove debug embed
dmjoy Mar 17, 2025
3d8b322
Add Kaleido pipeline ADM
dmjoy Mar 18, 2025
f96e90f
Add env variable option for ICL database files
dmjoy Apr 1, 2025
a8eebdf
Initial work to loosen input/output constraints on ADM components
dmjoy Apr 1, 2025
3087eca
"run_returns" refactor of remaining ADM components (untested)
dmjoy Apr 3, 2025
97ca35a
Fix remaining steps for pipeline
dmjoy Apr 4, 2025
3c7615c
Add call_from_coerced_args as utility function
dmjoy Apr 4, 2025
fd55e9b
Update pipeline ADM config conventions
dmjoy Apr 7, 2025
f9b67cd
Move system prompt out of comp regression adm component
dmjoy Apr 8, 2025
6246c25
Fix indent for system prompt
dmjoy Apr 8, 2025
e2b8858
Use call_with_coerced_args for template resolution
dmjoy Apr 8, 2025
ec59306
Move pipeline kaleido template to class; partial for call_with_coerce…
dmjoy Apr 8, 2025
e13ae57
Add missing utils file; misc fixes
dmjoy Apr 10, 2025
93e7833
WIP baseline pipeline ADM
dmjoy Apr 14, 2025
8b30a3e
Updates for baseline pipeline ADM
dmjoy Apr 15, 2025
cbceae0
Add missing pipeline_baseline ADM config yaml
dmjoy Apr 15, 2025
bcfff3c
Move some ITM specific behaviors to adm components
dmjoy Apr 15, 2025
da7d7af
Add missing justifications to comp reg and kaleido pipeline ADMs
dmjoy Apr 16, 2025
f85afea
WIP updates for prompt-based aligned pipeline ADM
dmjoy Apr 16, 2025
36e0f1f
Wrap up prompt based aligned pipeline ADM
dmjoy Apr 17, 2025
dfb72ad
Initial support for relevance alignment
dmjoy Apr 17, 2025
89ba3c6
Add choice history ADM component for cumulative alignment
dmjoy Apr 18, 2025
dba7d01
Add missing files; add variable renaming component; add adm mashup ex…
dmjoy Apr 18, 2025
d8d7000
Add some quick comments to the mashup example
dmjoy Apr 18, 2025
fa2cde6
Minor tweaks
dmjoy Apr 21, 2025
d9be875
Rename comparative regression pipeline ADM YAML; misc tweaks
dmjoy Apr 21, 2025
030d553
Misc fixes
dmjoy Apr 21, 2025
46baa92
Remove namespace from DialogElement
dmjoy Apr 21, 2025
3707a9a
Populate choice_info for pipeline ADMs
dmjoy Apr 22, 2025
6f48420
Add missing populate_choice_info component yaml
dmjoy Apr 22, 2025
b22d89e
Tweaks to pipeline configs wrt making greedy the default sampler
dmjoy Apr 23, 2025
d7aa0a1
Add dedicated configs for greedy vs multinomial inference engines
dmjoy Apr 23, 2025
0441068
Pipeline tweaks for working with TA3 eval
dmjoy Apr 24, 2025
19b809c
Use partial initialization for pipeline regression icl component
dmjoy Apr 25, 2025
9b3e261
Add random pipeline ADM; add pipeline ADM documentation
dmjoy May 1, 2025
a18c81e
Pipeline ADM documentation tweaks / improvements
dmjoy May 1, 2025
573f918
Add integration tests for new pipeline ADMs
dmjoy May 2, 2025
2b6ef22
Update changelog and version for 0.5.8
dmjoy May 2, 2025
16e871b
Quick changelog tweak
dmjoy May 2, 2025
a76662a
Add new KDMAs for Ph2 June collab
dmjoy May 9, 2025
d7e5572
Hacks to get ph2 scenarios working with update TA3 server
dmjoy May 22, 2025
4409308
Clean up tweaks for Ph2 TA3 server/client changes
dmjoy May 23, 2025
21e7646
Adding phase2 zeroshot comp reg adm
jadie1 May 16, 2025
d3d373a
Adding step for post-hoc rule based regression value correction
jadie1 May 16, 2025
1c6af8c
Adding logging for rule based regression correction
jadie1 May 16, 2025
2584a17
Updating attribute templates to version 2.
jadie1 May 16, 2025
269b61c
Initial medical urgency alignment function
eveenhuis May 20, 2025
2d18fb4
Flip attribute delta computation
eveenhuis May 21, 2025
c759645
Implicit prediction length check
eveenhuis May 21, 2025
2d3c8f0
Updating KDMA names to match Adept yamls
jadie1 May 22, 2025
aac610e
Fixing kdma names to match Adept
jadie1 May 22, 2025
eac1847
Update alignment targets and kaleido pipeline for june2025 eval
dmjoy May 23, 2025
83efd64
Updating zeroshot ADM to run on server
jadie1 May 23, 2025
fc86589
Adding phase2 pipeline oracle adm
jadie1 May 23, 2025
49df870
Tweaks for june2025 pipeline baseline
dmjoy May 23, 2025
81bda0f
Adding phase2 fewshot ADM
jadie1 May 23, 2025
26f045a
Updating ICL files
jadie1 May 23, 2025
e711d5d
Add state_hydration_domain option to ICL and input/output interface
eveenhuis May 26, 2025
81f7101
Add missing outlines prompt decorator
eveenhuis May 26, 2025
c9d9143
Add unit testing for medical urgency midpoint alignment function
eveenhuis May 26, 2025
3e72690
Add relevance to midpoint alignment function
eveenhuis May 22, 2025
4788441
Voting based midpoint alignment for multi-kdma with relevance
eveenhuis May 23, 2025
88c5c15
Add multi-kdma/relevance alignment function testing
eveenhuis May 26, 2025
5d00522
Improve alignment voting log messages
eveenhuis May 26, 2025
e63f4e0
Change random component imports to use local enums
dmjoy May 26, 2025
e98887b
Add option to override target attribute names in comp reg component
dmjoy May 26, 2025
9a2d977
Dedicated phase2_kaleido regression component config
dmjoy May 26, 2025
e1bb9fe
Add Kaleido "mashup" ADM
dmjoy May 26, 2025
13bcefa
Update ICL component for `target_attribute_names_override`
dmjoy May 26, 2025
9da17cd
Rename kaleido_mashup to kaleido_zeroshot_mashup
dmjoy May 27, 2025
0499d15
Correct target_attribute_names_override ordering (medical first)
dmjoy May 27, 2025
72e7d99
Add pipeline relevance oracle
eveenhuis May 27, 2025
5f2c4d9
Updating ICL files for new search vs stay train
jadie1 May 27, 2025
8e1f126
Add relevance aggregation misc component
dmjoy May 27, 2025
dafea1d
Adding llm most relevant attribute prediction step
jadie1 May 27, 2025
d762277
Adding check for single attribute targets
jadie1 May 27, 2025
7fcc112
Add medical only alignment function
eveenhuis May 27, 2025
6a63059
Update correction rules
eveenhuis May 27, 2025
984f241
Updating ICL for new PS annotations
jadie1 Jun 2, 2025
fd67426
Adding fewshot comp reg and kaleido relevance mashup ADM
jadie1 May 27, 2025
cc8dd41
Add least_similar_examples ICL option for validation simulation
eveenhuis Jun 3, 2025
f775f07
Adding ICL bert similarity based relevance prediction ADM
jadie1 Jun 2, 2025
5b51021
Adding LOO setting
jadie1 Jun 2, 2025
ded06eb
Updating merit focus to merit for improved regression
jadie1 Jun 3, 2025
abf64e6
Fixing score scale factor lookup for merit
jadie1 Jun 4, 2025
98cbc8e
Add caching to comparative regression ADM component
dmjoy Jun 4, 2025
6391dde
Add ubelt dependency for caching
dmjoy Jun 4, 2025
ee66e88
Prepend the scenario unstructured to the scene/probe unstructured
dmjoy Jun 7, 2025
f72edf3
Add caching to baseline component. TODO: Fix repr for votes fn
dmjoy Jun 10, 2025
5d2f7fe
Ensure we get the unstructured output files when not aligning
dmjoy Jun 10, 2025
7a9bfd2
Add live eval configs (single target)
dmjoy Jun 10, 2025
e81ed4e
Add multi-kdma bert-relevance config for live eval
dmjoy Jun 10, 2025
60f032a
Minor eval config tweaks
dmjoy Jun 10, 2025
d012ba0
Update baseline ADM name for ph2 june eval
dmjoy Jun 11, 2025
f2e3edb
Fix indentation for multi-kdma eval config
dmjoy Jun 11, 2025
0b9a52c
Add dedicated baseline multi config for ph2 june eval
dmjoy Jun 13, 2025
0c1e2bd
Update docs / version / changelog for 0.5.9 (Ph2 June Collab) release
dmjoy Jun 13, 2025
91dfbde
Update pipeline ADM documentation
dmjoy May 5, 2025
fd30fff
Add links to some referenced configs
dmjoy May 5, 2025
ef64a63
pipeline docs quickfix
dmjoy May 5, 2025
f66a2b6
Add ALIGN App link to README
barry-ravichandran Jul 11, 2025
4b91b47
Update medical urgency alignment function
eveenhuis Jul 15, 2025
48abc08
Rename new weighted medical urgency alignment fn and restore old version
dmjoy Jul 15, 2025
dfa42d5
Set up some configs for "july" collab
dmjoy Jul 15, 2025
a3cabd8
Adding aligned ADM config with updated ICL and weighted alignment fun…
jadie1 Jul 15, 2025
3c480d0
Add evaluation configs for Ph2 July collab RQ1 eval
dmjoy Jul 25, 2025
5d43484
Instructions for hugging face token cache
DennisMelamedKitware Jul 25, 2025
0a5681d
moved new instr to README
DennisMelamedKitware Jul 25, 2025
6fc5bc6
remove newline
DennisMelamedKitware Jul 25, 2025
400d72d
Moved HuggingFace token info to new section
DennisMelamedKitware Jul 25, 2025
62ab349
remove newline
DennisMelamedKitware Jul 25, 2025
4ec8289
Reduce code duplication between medical urgency alignment functions
eveenhuis Jul 15, 2025
9f71769
Add ICL examples to pipeline choice_info output
PaulHax Jul 30, 2025
e3095a0
Remove non-determinism from midpoint alignment functions
eveenhuis Jul 24, 2025
46a0473
Make comparative regression reasoning length configurable
PaulHax Aug 8, 2025
a5c0733
Add similarity score to ICL examples in choice info
PaulHax Aug 8, 2025
af3c14d
Factor out ICL similarity strategies
PaulHax Aug 8, 2025
9016ff9
Remove possible double-reversal bug in incontext setting
PaulHax Aug 8, 2025
0fbb2d2
Refactor ICL selection strategies to reduce code duplication
PaulHax Aug 8, 2025
9c8d833
Bring back least_similar_examples
PaulHax Aug 12, 2025
465cc87
Adding configs for July2025 RQ2 eval
dmjoy Aug 6, 2025
bbfb63b
Add more rq2 evaluation configs
dmjoy Aug 14, 2025
0e03654
Add medical only configs
eveenhuis Jun 4, 2025
cc1d8e5
Update to latest TA3 client version
dmjoy Aug 15, 2025
7940f31
Zeroshot tagging configs
eveenhuis Jul 25, 2025
00f6ee8
Fewshot tagging configs
eveenhuis Jul 28, 2025
d25d570
Prompt and config updates
eveenhuis Aug 4, 2025
b012a92
Parameterize scenario description for baseline ICL
eveenhuis Aug 21, 2025
e6f49ce
Added swap choice for comp reg; added function for resolving comp out…
dmjoy Sep 2, 2025
4275de0
Adding ICL choice order option
dmjoy Sep 2, 2025
d88ac7a
Update CHANGELOG.md
dmjoy Sep 2, 2025
e9f3f35
Add ICL examples to repository
PaulHax Sep 4, 2025
16b9f01
Update first test
dmjoy Aug 26, 2025
2792fff
Copy Phase 1 TA3 data models into our repo for backward compatibility
dmjoy Sep 5, 2025
a81c572
Update old alignment target files to point at backward compatible dat…
dmjoy Sep 5, 2025
16e234a
Update integration test expected output for relevance representation …
dmjoy Sep 8, 2025
2b1b975
Update prompt-based integration test
dmjoy Sep 8, 2025
f8cb75f
Use local backward compatible TA3 models with random_adm
dmjoy Sep 8, 2025
2a10274
Update dict check to cover omegaconf's DictConfig
dmjoy Sep 11, 2025
7228bd7
Add alignment info to choice_info
eveenhuis Oct 3, 2025
fd02003
Add source to alignment info
eveenhuis Oct 8, 2025
331e594
Merge pull request #247 from ITM-Kitware/dev/alignment_info
eveenhuis Oct 8, 2025
b742fe9
DecisionFlow integration (#223)
barry-ravichandran Oct 10, 2025
3256414
Initial cut at "driver" component refactor
dmjoy Sep 10, 2025
079efaa
Quick fixes for driver script refactor
dmjoy Sep 15, 2025
0b3210c
Updated expected outputs for some test (random choice answers changing)
dmjoy Sep 17, 2025
30a0ad3
Remove cli_parser methods from interfaces (very deprecated)
dmjoy Aug 29, 2025
a87c6ed
Remove lots of old code from before hydra/outlines (NAACL paper era)
dmjoy Aug 29, 2025
bcf7511
Remove the 'tags' property from Dialog (was unused)
dmjoy Aug 29, 2025
6b4d972
Remove deprecated Dialog "tags" from decisionflow components
dmjoy Oct 23, 2025
e51e75d
Remove older (hybrid) kaleido implementation and integration test
dmjoy Oct 24, 2025
5b78a2e
Add direct medical regression component and pipeline
dmjoy Sep 29, 2025
0e6f01f
Add direct regression ADM component (not just medical)
dmjoy Oct 7, 2025
bc00c15
Remove medical only direct regression adm component
dmjoy Oct 7, 2025
d9cce0e
Config refactoring for direct regression
dmjoy Oct 7, 2025
8b1483a
Add some direct regression support for search and personal safety
dmjoy Oct 13, 2025
82a528c
Update direct regression medical system prompt
dmjoy Oct 16, 2025
31e8073
Misc tweaks / fixes wrt cleanup and driver refactor
dmjoy Oct 24, 2025
871e6a8
Fix driver.apply_action_filtering setting wrt driver refactor
dmjoy Oct 24, 2025
cfba663
DecisionFlow: Added unstructured objective function json parsing and …
barry-ravichandran Oct 29, 2025
7705074
Simple update to add per-step timing info for pipeline ADM
dmjoy Oct 29, 2025
09564ee
Add SceneSkipException for DecisionFlow implementation
barry-ravichandran Nov 3, 2025
913d54c
Support str system prompt for baseline; add baseline sys prompt exper…
dmjoy Sep 26, 2025
a1a255b
Update alternate baseline run configs for live eval
dmjoy Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
run.bash

venv/
__pycache__/
__pycache__/
outputs
slurm*.out

.vscode/

358 changes: 358 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

176 changes: 176 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS
13 changes: 13 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2024 Kitware, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading