It is indeed, my suggestion is to keep it and give more freedom in the case users occasionally prefer to manage their data differently. An example of an application that has this functionality is “MicroDicom viewer”, (PS: they load the data directly without asking if it should be added to the database or not, which would not a good thing in slicer as you said)
The current way of handling the DICOM database is great, if such a function was added, it would be better to only place the dicom database in-memory if the users choses it upon import.
Alternatively, here is a way i think would be based on the existing DICOM database logic with minor additions:
- Once the “Load volumes without adding to Database” or such option is chosen upon import:
- add the entries to the database as usual, and keep two lists: one containing all the entries that the user tried to import, and a second list only containing the new entries (that were not part of the database, only those will be removed afterwards)
(the purpose of having two lists is to not cause a conflict in case some of the the imported files were already present in the database)
- import the entries in the first list (Pre-existent + new) from the dicom database
- delete the entries in the second list (new only) from the dicom database