View Issue Details

IDProjectCategoryView StatusLast Update
0002015Slicer4Module DICOMpublic2013-07-08 07:15
Reporterinorton Assigned Topieper  
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.3.0Fixed in VersionSlicer 4.3.0 
Summary0002015: Checking DICOMSlicerDataBundlePlugin and ""ScalarVolumePlugin every time
Description

When I click on a study or image, these messages always pop up..
Could this check be cached? It takes several seconds to go away every time.

TagsNo tags attached.

Activities

inorton

inorton

2012-07-19 06:20

developer   ~0005198

Bump. Unfortunately it seems like some fix - maybe for the other bug - has made this worse, acutely so since the 7/16 nightly.

In the 7/16 nightly, after clicking + to expand the study group the message is only displayed for about 15 seconds.

In the 7/18 nightly, the first time I click on a study after importing it takes {timed trials: 1:40, and 2:00} to get beyond this "Checking *Plugin" popup.

inorton

inorton

2012-07-19 06:22

developer   ~0005199

I am comparing clicking on the same studies in both versions, using separate database folders and empty databases. One of the studies (1:40) has 6 image series with <300 images total. The other (2:00) has one image series with about 400 images.

pieper

pieper

2012-07-19 06:30

administrator   ~0005200

Yes, I'm acutely aware and working on it now :/

Seems that the ctkDICOMModel keeps open a connection to the sqlite database, so anything that tries to write into it hangs for a long time, which happens while caching tags (which was supposed to be a speedup trick).

I think the best fix now will be to use a different sqlite file for the tag cache, rather than a different table in the same database. This will help us keep an eye on the size also.

pieper

pieper

2012-07-19 08:27

administrator   ~0005201

This commit should help. I see another use case or two that can be improved, but I hope this gets the bulk of it.

commit 36784c5d1b94052a7f8859c25b027b80ae708af4
Author: pieper <pieper@3bd1e089-480b-0410-8dfb-8563597acbee>
Date: Thu Jul 19 16:15:53 2012 +0000

BUG: Fix for dicom slowness - issue 2015

    commit 261841d091f44e0853a58650145cdb08d0730679
    Author: Steve Pieper &lt;pieper@bwh.harvard.edu>
    Date:   Thu Jul 19 11:59:19 2012 -0400

        Put cache in independent database because of issue 0000204

        Now there will be a ctkDICOMTagCache.txt in the same
        directory with the ctkDICOMDatabase.sql that stores
        the cached tags.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20637 3bd1e089-480b-0410-8df
jcfr

jcfr

2012-10-25 14:21

administrator   ~0006788

Would it be possible to provide Steve with some feedback. If no feedback is given by Friday afternoon or if the problem persists, the issue will be re-targeted for 4.3.

inorton

inorton

2012-10-25 14:25

developer   ~0006791

See 0002016: slowness persists.

inorton

inorton

2012-10-25 14:25

developer   ~0006792

Please re-target.

pieper

pieper

2012-12-06 05:05

administrator   ~0007421

Ron and I reviewed the options and came up with a plan to make the plug-in evaluation happen only when the user requests it, rather than on each click in the patient/study/series tree.

Longer term I would like to find a way for the plug-in evaluation to go on in the background after an import or something similar.

inorton

inorton

2013-02-26 13:28

developer   ~0008056

Can you consider only checking for scalar volume loader? I think it would be preferable to give a list of available loaders and do all other checks by request.

pieper

pieper

2013-02-28 11:55

administrator   ~0008073

Hi Isaiah -

Ideally the plugins should be fast enough now that they don't get in the way -- they still bring up a dialog but it shouldn't last more than a few seconds. This was super slow before, but since the TagCache was added to CTK things have gotten much better (IMO).

Or do you still find the process too slow?

If so, I am thinking of a little 'Plugin Selection' button on the dicom panel that brings up a dialog with check buttons for each registered plugin. Then these would be saved in the settings for future use.

Let me know what you think,
-Steve

jcfr

jcfr

2013-02-28 12:30

administrator   ~0008074

I also observed this, I was demo-ing the DICOM module to some folks .. and noticed that it run the plugin each time I clicked on a row. Would it make sens to cache result ?

pieper

pieper

2013-02-28 12:46

administrator   ~0008075

The result is currently cached during a run so that if the same series is re-visited the same results will be used, which should be very fast.

Did you observe anything that took more than one or two seconds?

jcfr

jcfr

2013-02-28 12:52

administrator   ~0008080

Last edited: 2013-02-28 12:53

It was indeed in the order of one or two seconds each time. It could also probably make sens to trigger the process in a thread.

Then, if the user click on an other item in the list. It abort the process associated item and focus on the current one.

To keep the ui responsive and process data where the user focused.

pieper

pieper

2013-07-08 07:15

administrator   ~0008882

I'm closing this since the original issue is solved. If people still think the process needs to be sped up we can create a new feature request issue.

Issue History

Date Modified Username Field Change
2012-05-10 16:53 inorton New Issue
2012-05-10 16:53 inorton Status new => assigned
2012-05-10 16:53 inorton Assigned To => pieper
2012-05-18 06:27 pieper Target Version => Slicer 4.2.0 AHM Summer 2012
2012-07-19 06:20 inorton Note Added: 0005198
2012-07-19 06:22 inorton Note Added: 0005199
2012-07-19 06:30 pieper Note Added: 0005200
2012-07-19 08:27 pieper Note Added: 0005201
2012-07-19 08:27 pieper Status assigned => feedback
2012-10-25 14:21 jcfr Note Added: 0006788
2012-10-25 14:25 inorton Note Added: 0006791
2012-10-25 14:25 inorton Note Added: 0006792
2012-10-25 14:26 jcfr Target Version Slicer 4.2.0 - coming release => Slicer 4.3.0
2012-12-06 05:05 pieper Note Added: 0007421
2013-02-26 13:28 inorton Note Added: 0008056
2013-02-26 13:50 jcfr Priority normal => high
2013-02-28 11:55 pieper Note Added: 0008073
2013-02-28 12:30 jcfr Note Added: 0008074
2013-02-28 12:46 pieper Note Added: 0008075
2013-02-28 12:52 jcfr Note Added: 0008080
2013-02-28 12:53 jcfr Note Edited: 0008080
2013-07-08 07:15 pieper Note Added: 0008882
2013-07-08 07:15 pieper Status feedback => closed
2013-07-08 07:15 pieper Resolution open => fixed
2013-07-08 07:15 pieper Fixed in Version => Slicer 4.3.0