Historically, oxidicom would make an HTTP request to CUBE and CUBE would put a row into the database for each file. In version 2 of oxidicom, it registers files to the database directly for performance optimizations:
- We avoid the slow Python code of CUBE
- oxidicom can (a) check for duplicates and (b) insert multiple rows, all in one transaction.
I have considered two possible behaviors:
- "simple": oxidicom registers files to the database in batches.
- "smart": oxidicom registers files at the end of an association, and attempts to validate whether the association
was typical (i.e. number of files per series is equal to
NumberOfSeriesRelatedInstances
)