@louisgv

Signed up since Oct. 4, 2017

Points

Timestamp Points Contributor Ad-hoc References
Jan. 28, 2018 5 @louisgv No PR #288
Dec. 20, 2017 2 @louisgv No Issues #230
Dec. 20, 2017 2 @louisgv No Issues #204
Dec. 20, 2017 3 @louisgv No PR #226
Nov. 26, 2017 2 @louisgv No Issues #215
Nov. 26, 2017 8 @louisgv No Issues #246, #245, #204
PR #239
Nov. 15, 2017 3 @louisgv No Issues #148
PR #197
Nov. 1, 2017 3 @louisgv No Issues #182
PR #196
Oct. 30, 2017 5 @louisgv No Issues #182
PR #193
Oct. 26, 2017 1 @louisgv No PR #189
Oct. 19, 2017 5 @louisgv No Issues #149
PR #173

Activity

@louisgv commented on PR #305: Refactor imagery loading EventEmitter into store value

@lamby should I rebase/repush in order to make it pass Travis?
10 months, 2 weeks ago
10 months, 2 weeks ago

@louisgv opened a new pull request: #305: [WIP] Refactor imagery loading EventEmitter into store value

<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> I refactored the event emitter inside the TreeView to send it to the global store. This way if any other component need access to the imagery, it can simply grab it from the store. ## Reference to official issue <!--- If fixing a bug, there should be an existing issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #302 ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> Manual testing ## CLA - [ ] I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well
10 months, 2 weeks ago

@louisgv commented on issue #302: Refactor EventEmitter to using store observer

Since #288 is closed, I will start working on this issue.
10 months, 2 weeks ago

@louisgv commented on PR #288: [WIP] Wizard flow

@isms I see! If that's the case, I imagine this wizard would be more of a horizontal element that vertical? If so, we might be able to utilize the vue wizard dependency (tho, some of its UI might still not make sense for our app), or I can create a common Flow component extending what I have that will observe the global cross-page steps.
10 months, 3 weeks ago

@louisgv created a new issue: #303: Make reusable/generic component into common

<!--- Provide a general summary of the issue in the Title above --> ## Expected Behavior <!--- Tell us what should happen --> The following components should be delegated to common components as they are either generic, minimal or has high recycling potential: * Nodule (`interface/frontend/src/components/annotate-and-segment/Nodule.vue`) * OneLineParagraph (`interface/frontend/src/components/report-and-export/OneLineParagraph.vue`) * RadioInput (`interface/frontend/src/components/annotate-and-segment/RadioInput.vue`) ## Possible Implementation <!--- Not obligatory, but suggest an idea for implementing addition or change --> ## Checklist before submitting - [ ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
10 months, 3 weeks ago

@louisgv commented on PR #288: [WIP] Wizard flow

@lamby @Serhiy-Shekhovtsov please feedback on features you think would be nice to have for this feature. Like onclick binding, metadata, image, step number indicator, subtitle, etc...
10 months, 3 weeks ago

@louisgv commented on issue #295: First page issues

Another issue with this page is that the "Start New Case" button is being placed in a bad position. E.g, right behind the image and is easily hidden by the imagery if the screen is small. For #288 , I moved the button to the header as a temporary solution.
10 months, 3 weeks ago

@louisgv commented on PR #288: [WIP] Wizard flow

@lamby Here's some progress: I created a Wizard Flow component (no styling as of yet) that accept a `steps` computed prop. The steps prop basically tell the component the step and its active state, and will be controlled by the parent component (Which is the view). The parent can either bind the active state by watching the store state, or toggle it manually it it wishes to. Below demonstrate three working scenario: + If I select an invalid case, none of the wizard are highlighted: ![output](https://user-images.githubusercontent.com/6723574/35449214-66a499ee-028a-11e8-8653-da2f235560fa.gif) + If I select an imagery, the first wizard will be highlighted: ![output](https://user-images.githubusercontent.com/6723574/35449279-99dfa4a2-028a-11e8-9ff1-5f422d22f580.gif) + If I start a case, the second will be highlighted: ![output](https://user-images.githubusercontent.com/6723574/35450477-2e9785c6-028e-11e8-9bad-eb2e7fbc6223.gif) + If the case was created is valid and I select it, all three will be highlighted. (For some reason, I couldn't create a valid case, so no screencaps available) + If I select a valid case from the beginning, the first and last will be highlighted: ![output](https://user-images.githubusercontent.com/6723574/35449534-4fcaa4ba-028b-11e8-91de-95c28808af1f.gif) This is a standalone component so implement it for the remaining two should be simple once it is further nailed down.
10 months, 3 weeks ago

@louisgv commented on issue #302: Refactor EventEmitter to using store observer

After #288 I can start take a look at this. Those who have implemented EventEmitter please chime in.
10 months, 3 weeks ago

@louisgv created a new issue: #302: Refactor EventEmitter to using store observer

<!--- Provide a general summary of the issue in the Title above --> ## Expected Behavior <!--- Tell us what should happen --> With the store implemented, we should be able to use the value from it throughout the application and thus we can eliminate most EventEmitter implementation, since if there are communication cross component, it's best to do it once and use it everywhere. ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> At the moment, the following can be refactored to consume store state: + ImageSeries - TreeView EvenEmitter when selecting a new image ## Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> + Compose a list of EventEmitter + Compose a list of store state that are nice to have + Refactor the EventEmitter into dispatcher and observer with the store. ## Checklist before submitting - [ ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
10 months, 3 weeks ago

@louisgv commented on PR #288: [WIP] Wizard flow

@lamby I'm actually pretty close to have something that I can show. Will ping back status within the weekends.
10 months, 3 weeks ago

@louisgv commented on PR #288: [WIP] Wizard flow

@lamby After experimenting with the dependency it seems to me it's not fit for the job (some of the UI element are enforced, like the next/back buttons) so I've been drafting out our own component.
10 months, 3 weeks ago

@louisgv opened a new pull request: #288: [WIP] Wizard flow

<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> Work in progress... ## Reference to official issue <!--- If fixing a bug, there should be an existing issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #279 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If adding a new feature or making improvements not already reflected in an official issue, please reference the relevant sections of the design doc --> Adding a wizard flow for each tab to assist user on what they should be doing next. ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> ## Screenshots (if appropriate): ## Metrics (if appropriate): If you submitting a PR for a prediction algorithm (segmentation, identification, or classification) please fill in values for as many as the below statistics as are relevant. *algorithms by metric* metric | relevant algorithms -------|-------------------- [accuracy <sup>1</sup> <sup>2</sup>](https://stats.stackexchange.com/a/231237/143678) | classification, identification [data IO](https://unix.stackexchange.com/questions/55212) | classification, identification, segmentation [Dice coefficient <sup>3</sup>](https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient) | segmentation [disk space usage](https://www.cyberciti.biz/faq/linux-check-disk-space-command) | classification, identification, segmentation [Hausdorff distance <sup>3</sup>](https://en.wikipedia.org/wiki/Hausdorff_distance) | segmentation [Jaccard index](https://en.wikipedia.org/wiki/Jaccard_index) | segmentation [Log Loss](http://wiki.fast.ai/index.php/Log_Loss) | classification, identification <sup>4</sup> [memory usage](https://stackoverflow.com/questions/110259) | classification, identification, segmentation [prediction time <sup>2</sup>](https://stackoverflow.com/questions/385408) | classification, identification, segmentation [sensitivity <sup>3</sup>](http://wiki.fast.ai/index.php/Deep_Learning_Glossary#Recall) | segmentation [specificity <sup>3</sup>](http://wiki.fast.ai/index.php/Deep_Learning_Glossary#Specificity) | segmentation [training time <sup>2</sup>](https://stackoverflow.com/questions/385408) | classification, identification, segmentation *notes* 1. Use 5-fold cross validation if there is enough time and computational power available, otherwise use a holdout set 1. This metric may be automatically calculated by the machine learning architecture, e.g., Keras 1. The calculations for these metrics [are available here](https://github.com/concept-to-clinic/concept-to-clinic/blob/master/prediction/src/algorithms/segment/src/evaluate.py) 1. In order to calculate Log Loss for identification, the data needs to be arranged in a way that shows for each pixel, whether or not it is a nodule centriod. Restated, the pixel level labels of 1/0 would correspond to centriod/not-centriod. *metrics by algorithm* algorithm | relevant metrics ---------------|------------------ classification | accuracy, data IO, disk space usage, Log Loss, memory usage, prediction time, training time identification | accuracy, data IO, disk space usage, Log Loss, memory usage, prediction time, training time segmentation | data IO, Dice coefficient, disk space usage, Hausdorff distance, Jaccard index, memory usage, prediction time, sensitivity, specificity, training time When reporting your values, please use a format similar to the following example. algorithm | metric | value -------------|--------|------: segmentation | accuracy | 99.5 segmentation | Jaccard index | 0.5 segmentation | prediction time (s) | 45.3 segmentation | memory usage (MB) | 5.4 ## CLA - [ ] I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well
11 months ago

@louisgv commented on issue #287: Cannot build from docker

Hmm, this error was thrown only if I tried to run docker integrated with my external drive. If I disable the external drive and run docker, it seems to be running now...
11 months ago

@louisgv created a new issue: #287: Cannot build from docker

<!--- Provide a general summary of the issue in the Title above --> I pulled from latest and tried to clean and rebuild docker. However, it failed on my system. ## Expected Behavior <!--- Tell us what should happen --> Running `docker-compose -f local.yml build` should build the application. ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> The following error was thrown: ``` Running setup.py clean for networkx Successfully built sqlalchemy Failed to build networkx Installing collected packages: pyflakes, pycodestyle, mccabe, flake8, py, pytest, scipy, cycler, pyparsing, matplotlib, decorator, networkx, PyWavelets, scikit-image, sqlalchemy, pylidc Running setup.py install for networkx: started Running setup.py install for networkx: finished with status 'done' Successfully installed PyWavelets-0.5.2 cycler-0.10.0 decorator-4.2.1 flake8-3.3.0 matplotlib-2.1.1 mccabe-0.6.1 networkx-2.0 py-1.5.2 pycodestyle-2.3.1 pyflakes-1.5.0 pylidc-0.1.9 pyparsing-2.2.0 pytest-3.1.3 scikit-image-0.13.1 scipy-1.0.0 sqlalchemy-1.2.1 Exception: Traceback (most recent call last): File "/usr/lib/python3.6/shutil.py", line 436, in _rmtree_safe_fd os.unlink(name, dir_fd=topfd) FileNotFoundError: [Errno 2] No such file or directory: 'options' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/usr/local/lib/python3.6/dist-packages/pip/commands/install.py", line 385, in run requirement_set.cleanup_files() File "/usr/local/lib/python3.6/dist-packages/pip/utils/build.py", line 38, in __exit__ self.cleanup() File "/usr/local/lib/python3.6/dist-packages/pip/utils/build.py", line 42, in cleanup rmtree(self.name) File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/retrying.py", line 49, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/retrying.py", line 212, in call raise attempt.get() File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/retrying.py", line 247, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/six.py", line 686, in reraise raise value File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/retrying.py", line 200, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "/usr/local/lib/python3.6/dist-packages/pip/utils/__init__.py", line 102, in rmtree onerror=rmtree_errorhandler) File "/usr/lib/python3.6/shutil.py", line 480, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/lib/python3.6/shutil.py", line 418, in _rmtree_safe_fd _rmtree_safe_fd(dirfd, fullname, onerror) File "/usr/lib/python3.6/shutil.py", line 418, in _rmtree_safe_fd _rmtree_safe_fd(dirfd, fullname, onerror) File "/usr/lib/python3.6/shutil.py", line 438, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/local/lib/python3.6/dist-packages/pip/utils/__init__.py", line 114, in rmtree_errorhandler func(path) IsADirectoryError: [Errno 21] Is a directory: '/tmp/pip-build-hv_u296y/flake8/flake8/options' ERROR: Service 'base' failed to build: The command '/bin/sh -c pip install -r /requirements/prediction/local.txt' returned a non-zero code: 2 ``` ## Steps to Reproduce <!--- Provide a link to a live example, or an unambiguous set of steps to --> <!--- reproduce this bug. Include code to reproduce, if relevant --> 1. Pull from master 2. Run `docker-compose -f local.yml build` ## Context (Environment) <!--- How has this issue affected you? What are you trying to accomplish? --> <!--- Providing context helps us come up with a solution that is most useful in the real world --> + Linux Debian + Docker version 17.09.0-ce, build afdb6d4 + docker-compose version 1.17.0, build ac53b73 ## Checklist before submitting - [ ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
11 months ago

@louisgv commented on issue #150: Vue: implement 'Segmentation' UI component(s)

No I am not On Tue, Jan 16, 2018, 1:48 PM Serhiy-Shekhovtsov <notifications@github.com> wrote: > @louisgv <https://github.com/louisgv> are you working on this? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/concept-to-clinic/concept-to-clinic/issues/150#issuecomment-358065002>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/AGaX9mCSBwFgRRAEIhN4YVCF8DoyT7tyks5tLO7wgaJpZM4Pvui3> > . >
11 months ago

@louisgv commented on issue #279: UI feature: add overall progress indicator ("wizard" element)

@Serhiy-Shekhovtsov are you actively working on this issue? (Since you upvoted it). Just wanted to make sure we're not colliding.
11 months ago
11 months ago

@louisgv commented on issue #234: Docker Build failed, /proc file permission denied

@isms let's close this for now. By commenting out the 8th line of the docker script this problem is gone for me.
1 year ago

@louisgv commented on issue #238: Error importing CaseFactory()

@isms sorry for the late respond. Finals' been drowning me lately :p... @musale I will give that a try
1 year ago

@louisgv commented on PR #239: Router Guard + Refactor Front-end Test Suite

@lamby Yes, this should address all three issue. Detail are noted in the PR description. I also rebased with master as requested.
1 year ago
1 year ago

@louisgv commented on PR #239: Router Guard + Refactor Front-end Test Suite

@WGierke @lamby can you manually trigger Travis to re-build. It is failing on the python backend side for some reason.
1 year ago

@louisgv commented on PR #239: Router Guard + Refactor Front-end Test Suite

@WGierke @lamby Unit test and E2E test for Frontend are fixed and are now running. The test case for the route and store was also implemented.
1 year ago

@louisgv commented on PR #239: Router Guard + Refactor Front-end Test Suite

@lamby E2E test is done. I'm very close to get unit test done. I'm revamping the tooling as well as adding a sample unit test. Also going to improve the E2E test a little bit to make it more concise. I expect this PR to be good to review by tomorrow.
1 year ago

@louisgv commented on issue #246: Refactor Front-end E2E Test Suite

Work on this has already been started and will be published together with #239
1 year ago

@louisgv created a new issue: #246: Refactor Front-end E2E Test Suite

<!--- Provide a general summary of the issue in the Title above --> ## Expected Behavior <!--- Tell us what should happen --> One should be able to run the E2E from a docker environment and see the result. ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> The current test suite does not run in a docker environment due to its reliant on node to build and expose selenium, which in turn is relying on a system-wide JAVA installation. ## Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> Purge local installation of chromedriver and selenium, and instead use docker to install these tool so that we can use them on a docker environment. ## Steps to Reproduce <!--- Provide a link to a live example, or an unambiguous set of steps to --> <!--- reproduce this bug. Include code to reproduce, if relevant --> 1. ## Context (Environment) <!--- How has this issue affected you? What are you trying to accomplish? --> <!--- Providing context helps us come up with a solution that is most useful in the real world --> ## Detailed Description <!--- Provide a detailed description of the change or addition you are proposing --> ## Possible Implementation <!--- Not obligatory, but suggest an idea for implementing addition or change --> ## Checklist before submitting - [ ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
1 year ago

@louisgv commented on PR #239: Router Guard + Refactor Front-end Test Suite

I will be adding selenium to our docker setup for E2E headless testing: https://github.com/mycargus/nightwatch-docker-grid Referencing the repo for future documentation/recognition
1 year ago

@louisgv commented on issue #245: Refactor Front-end Test Suite

Work on this has already been started and will be published in #239
1 year ago

@louisgv created a new issue: #245: Refactor Front-end Test Suite

<!--- Provide a general summary of the issue in the Title above --> ## Expected Behavior <!--- Tell us what should happen --> Front-end should have a run-able test suite so that we can validate new component/works. ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> The current test suite does not run and it is using deprecated packages for test suite. ## Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> ## Steps to Reproduce <!--- Provide a link to a live example, or an unambiguous set of steps to --> <!--- reproduce this bug. Include code to reproduce, if relevant --> 1. There is no way to run front-end test at the moment. ## Context (Environment) <!--- How has this issue affected you? What are you trying to accomplish? --> <!--- Providing context helps us come up with a solution that is most useful in the real world --> ## Detailed Description <!--- Provide a detailed description of the change or addition you are proposing --> ## Possible Implementation <!--- Not obligatory, but suggest an idea for implementing addition or change --> ## Checklist before submitting - [ ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
1 year ago

@louisgv commented on PR #239: Router Guard

@WGierke For sure, I can take a whack at some unit test for store as well as a simple E2E test of trying to go to future route without prerequisite.
1 year ago

@louisgv opened a new pull request: #239: Router Guard

<!--- Provide a general summary of your changes in the Title above --> Per #204 I initialized a vue-router guard. ## Description <!--- Describe your changes in detail --> This effectively allow us to, (since we are implementing all of our ui layer under the component), use the global guard to make sure subsequent route has the required data from the previous route, using a very primitive `Store` singleton that I derived. It's very flexible in term of refactor into using either a Redis cache or localstorage, can be imported into any other component. This way we do not have to refactor the data layer of each view to propagate the data to its parent, but can simply import `Store` as follow: ``` import Store from '../store' ``` In any of our component, then simply call the static methods defined in the `Store` class to update the dependency data. (right now I simply test with `this.$route.path` ) ## Reference to official issue <!--- If fixing a bug, there should be an existing issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #204 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If adding a new feature or making improvements not already reflected in an official issue, please reference the relevant sections of the design doc --> ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> ## Screenshots (if appropriate): ## CLA - [ ] I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well
1 year ago

@louisgv created a new issue: #238: Error importing CaseFactory()

<!--- Provide a general summary of the issue in the Title above --> I'm trying to importing some nodule data to test with the interface. Following this guide: https://github.com/concept-to-clinic/concept-to-clinic/issues/149#issuecomment-335625985 ## Expected Behavior <!--- Tell us what should happen --> I should be able to run this in the console: ``` from backend.cases.factories import * case = CaseFactory() ``` Without seeing any error ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> The following error was thrown: ``` Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/django/db/backends/utils.py", line 65, in execute return self.cursor.execute(sql, params) psycopg2.ProgrammingError: relation "images_imageseries" does not exist LINE 1: INSERT INTO "images_imageseries" ("patient_id", "series_inst... ^ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 69, in __call__ return cls.create(**kwargs) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 622, in create attrs = cls.attributes(create=True, extra=kwargs) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 453, in attributes force_sequence=force_sequence, File "/usr/local/lib/python3.6/dist-packages/factory/containers.py", line 324, in build return stub.__fill__() File "/usr/local/lib/python3.6/dist-packages/factory/containers.py", line 83, in __fill__ res[attr] = getattr(self, attr) File "/usr/local/lib/python3.6/dist-packages/factory/containers.py", line 108, in __getattr__ val = val.evaluate(self, self.__containers) File "/usr/local/lib/python3.6/dist-packages/factory/containers.py", line 227, in evaluate containers=containers, File "/usr/local/lib/python3.6/dist-packages/factory/declarations.py", line 324, in evaluate return self.generate(sequence, obj, create, defaults) File "/usr/local/lib/python3.6/dist-packages/factory/declarations.py", line 412, in generate return subfactory.simple_generate(create, **params) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 709, in simple_generate return cls.generate(strategy, **kwargs) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 676, in generate return action(**kwargs) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 623, in create return cls._generate(True, attrs) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 548, in _generate obj = cls._prepare(create, **attrs) File "/usr/local/lib/python3.6/dist-packages/factory/base.py", line 523, in _prepare return cls._create(model_class, *args, **kwargs) File "/usr/local/lib/python3.6/dist-packages/factory/django.py", line 181, in _create return manager.create(*args, **kwargs) File "/usr/local/lib/python3.6/dist-packages/django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/local/lib/python3.6/dist-packages/django/db/models/query.py", line 394, in create obj.save(force_insert=True, using=self.db) File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 807, in save force_update=force_update, update_fields=update_fields) File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 837, in save_base updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 923, in _save_table result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 962, in _do_insert using=using, raw=raw) File "/usr/local/lib/python3.6/dist-packages/django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/local/lib/python3.6/dist-packages/django/db/models/query.py", line 1076, in _insert return query.get_compiler(using=using).execute_sql(return_id) File "/usr/local/lib/python3.6/dist-packages/django/db/models/sql/compiler.py", line 1099, in execute_sql cursor.execute(sql, params) File "/usr/local/lib/python3.6/dist-packages/django/db/backends/utils.py", line 80, in execute return super(CursorDebugWrapper, self).execute(sql, params) File "/usr/local/lib/python3.6/dist-packages/django/db/backends/utils.py", line 65, in execute return self.cursor.execute(sql, params) File "/usr/local/lib/python3.6/dist-packages/django/db/utils.py", line 94, in __exit__ six.reraise(dj_exc_type, dj_exc_value, traceback) File "/usr/local/lib/python3.6/dist-packages/django/utils/six.py", line 685, in reraise raise value.with_traceback(tb) File "/usr/local/lib/python3.6/dist-packages/django/db/backends/utils.py", line 65, in execute return self.cursor.execute(sql, params) django.db.utils.ProgrammingError: relation "images_imageseries" does not exist LINE 1: INSERT INTO "images_imageseries" ("patient_id", "series_inst... ^ ``` ## Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> ## Steps to Reproduce <!--- Provide a link to a live example, or an unambiguous set of steps to --> <!--- reproduce this bug. Include code to reproduce, if relevant --> 1. Following the instruction in this guide https://github.com/concept-to-clinic/concept-to-clinic/issues/149#issuecomment-335625985 ## Context (Environment) <!--- How has this issue affected you? What are you trying to accomplish? --> <!--- Providing context helps us come up with a solution that is most useful in the real world --> ## Detailed Description <!--- Provide a detailed description of the change or addition you are proposing --> ## Possible Implementation <!--- Not obligatory, but suggest an idea for implementing addition or change --> ## Checklist before submitting - [ ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
1 year ago

@louisgv commented on issue #204: Prevent progress to next stage of analysis until "completed" the current step

So I think since each tab are controlled by vue-router, the solution to this would be to add a gate layer to each route and check for condition. https://router.vuejs.org/en/advanced/navigation-guards.html Will be going through the doc and implement a simple gate layer for each route.
1 year ago

@louisgv commented on issue #202: Improve open imagery "Import" button UX

@Serhiy-Shekhovtsov For sure! I thought you were looking to avoid conflicting with this issue, but if you can solve both that'd be great :p I didn't mean to raise conflict/confusion. Also I was spending the entire day updating my build... refer to #234 :skull:
1 year ago

@louisgv commented on issue #234: Docker Build failed, /proc file permission denied

After spending an entire day trying all kind of thing to fix the problem, from reinstalling docker, to remove docker tunnel, to reboot my machine a dozen of time, I decided to just comment out the 8th docker command in the `base` instruction, and that solved the problem. This was super frustrating. But I think this line should be investigated and might need improvement: ``` RUN find . -type d -name __pycache__ -exec rm -r {} \+ ``` Maybe we can use a python package like pyclean or py3clean to clean up the cache instead of searching for it manually?
1 year ago

@louisgv created a new issue: #234: Docker Build failed, /proc file permission denied

<!--- Provide a general summary of the issue in the Title above --> ## Expected Behavior <!--- Tell us what should happen --> Upon pulling new change from master, I should be able to run `docker-compose -f local.yml build` to update the docker image. ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> The build process failed: ``` Step 8/21 : RUN find . -type d -name __pycache__ -exec rm -r {} \+ ---> Running in 41c5736fc3df find: './proc/1/map_files': Operation not permitted find: './proc/7/map_files': Operation not permitted ERROR: Service 'base' failed to build: The command '/bin/sh -c find . -type d -name __pycache__ -exec rm -r {} \+' returned a non-zero code: 1 ``` ## Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> ## Steps to Reproduce <!--- Provide a link to a live example, or an unambiguous set of steps to --> <!--- reproduce this bug. Include code to reproduce, if relevant --> 1. Pull from master 2. Run `docker-compose -f local.yml build` ## Context (Environment) <!--- How has this issue affected you? What are you trying to accomplish? --> <!--- Providing context helps us come up with a solution that is most useful in the real world --> This might be specific to Debian. My operating system is: ``` Linux lab 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u3 (2017-08-15) x86_64 GNU/Linux ``` ## Detailed Description <!--- Provide a detailed description of the change or addition you are proposing --> ## Possible Implementation <!--- Not obligatory, but suggest an idea for implementing addition or change --> ## Checklist before submitting - [+] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [+] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ ] I filled out all the relevant sections of this template
1 year ago

@louisgv commented on issue #202: Improve open imagery "Import" button UX

Hmm, seems like #204 and #202 (this) will be sharing some higher order state. I will do some experiment with this UI element as well as implementing a parent state (to keep track of the step for #204) then :-?
1 year ago

@louisgv commented on issue #202: Improve open imagery "Import" button UX

@Serhiy-Shekhovtsov After reading the requirement again, I think we should separate the two function into 2 UI elements (button), one for importing image and one for expanding the image. So maybe for #145, you can simply change the callback of the import button to do what need to be done, or you can also add a new button to import (to avoid conflict with this issue), and then we can refactor the UI at a later stage?
1 year ago

@louisgv commented on issue #230: Ask a Clinician! (add a question, get points)

1. How often does radiologists spot error in patient's files/data and what kind of tool do they currently using to validate data and/or fix error? 2. In the Report/Export view, would clinicians prefer to have as much data cramped into the view-port as possible (for quick scanning, for example) in a way similar to infographic report (example)[http://myonlinecareerspace.com/blog/wp-content/uploads/2010/02/educating-future-workforce-education-infographic.jpg] or would they prefer spacial line-by-line document format (example)[https://images.template.net/wp-content/uploads/2015/05/Medical-Report-Template-Free-Download.jpg]? (Specifically talking about the RSNA standard) 3. > NOTE: The 2nd question targets specifically for digital viewing. Exported file will be formatted to follow the formal convention.
1 year ago

@louisgv commented on PR #197: #148 Manipulations with DICOM vue

@lamby Jquery-Slim is still pretty sizable, according to their release note, it's "23.6k vs 30k.". It would be best if we can use this pipeline: https://github.com/jquery/jquery/blob/master/README.md#how-to-build-your-own-jquery And create an even slimmer version of jquery for `cornerstone-tools`. For now I think definitely let's use jquery-slim, restrict its usage, and have #215 tracking progress on the final jquery for corner-stone. I haven't look closely at the module list of jquery-slim and whether if it has exactly what cornerstone need. But for now, I think we should be good to merge.
1 year, 1 month ago
1 year, 1 month ago

@louisgv created a new issue: #215: Eliminate/Restrict Jquery use for cornerstone-tools

<!--- Provide a general summary of the issue in the Title above --> ## Expected Behavior <!--- Tell us what should happen --> Related to #197 per @vessemer request. The front-end should not be depending on JQuery as a dependence, unless there is popular demand from contributor. Per #197, it is being imported due to another dependency for advanced medical image processing called `cornerstone-tool`. It is desirable if we can devise a minimal version of JQuery that has all the required function that CornerStone-tool need, or simply find a way to remove JQuery. ## Current Behavior <!--- Tell us what happens instead of the expected behavior --> The front-end application starting after #197 will be relying on JQuery as a dependency. ## Possible Solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> + Searching for `external.$` in `cornerstone-tool` [repository](https://github.com/chafey/cornerstoneTools), then log down all method the library is relying on. + Extract those method from jQuery and export them into an internal library, with which we expose it to cornerstoneTools ## Context (Environment) <!--- How has this issue affected you? What are you trying to accomplish? --> <!--- Providing context helps us come up with a solution that is most useful in the real world --> + JQuery is a sizable library, however we're already using vue.js and since most of the feature we need from JQuery can easily be implemented with vue, it is necessary to not be depended on jQuery. ## Detailed Description <!--- Provide a detailed description of the change or addition you are proposing --> ## Possible Implementation <!--- Not obligatory, but suggest an idea for implementing addition or change --> ## Checklist before submitting - [ + ] I have confirmed this using the officially supported Docker Compose setup using the `local.yml` configuration and ensured that I built the containers again and they reflect the most recent version of the project at the `HEAD` commit on the `master` branch - [ + ] I have searched through the other currently open issues and am confident this is not a duplicate of an existing bug - [ + ] I provided a **minimal code snippet** or list of steps that reproduces the bug. - [ ] I provided **screenshots** where appropriate - [ + ] I filled out all the relevant sections of this template
1 year, 1 month ago

@louisgv commented on issue #202: Improve open imagery "Import" button UX

If the allows user to import multiple image, then we should remove the call to contracts the browser from the import button event handler, and instead add it to a drop-down button element similar to what we have with nodule.
1 year, 1 month ago
1 year, 1 month ago

@louisgv opened a new pull request: #196: Refine and refactor Report and Export to show data.

<!--- Provide a general summary of your changes in the Title above --> Per #182, I did further improvement to the export view. I also refactored the constant so that it align with implementation from the past. ## Description <!--- Describe your changes in detail --> ## Reference to official issue <!--- If fixing a bug, there should be an existing issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #182 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If adding a new feature or making improvements not already reflected in an official issue, please reference the relevant sections of the design doc --> ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> ## Screenshots (if appropriate): ## CLA - [ + ] I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well
1 year, 1 month ago

@louisgv commented on PR #192: Updates a loop in a vue component to use correct syntax.

I've been working on this view and have refactored this as well as a lot of the structure of this view. Thus I think this can be closed :) Refer to #193 for related PR.
1 year, 1 month ago

@louisgv opened a new pull request: #193: Styling and refactoring for ReportAndExport

<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> Per #182, I implemented 3 base components for the Report and Export view: + RSNAStandardTemplate : Almost done with styling. Has a fancy mode template. + ACRLungRADFindings : placeholder component + Export3DImagery : placeholder component Together with 2 generic and reusable components; + OneLineParagraph: A simple component that render a paragraph with label and value + OutlineNav : Showing arbitrary amount of outlines and allow parent component to use it as a view component switcher + TechnicalCard: A fancy report/info card for quick report scanning ## Reference to official issue <!--- If fixing a bug, there should be an existing issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #182 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If adding a new feature or making improvements not already reflected in an official issue, please reference the relevant sections of the design doc --> + Display all of the results from the case matching the RSNA format in a clean, organized, and hyperlinked report. ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> + Mostly UI/UX works. ## Screenshots (if appropriate): ![image](https://user-images.githubusercontent.com/6723574/32158809-eeb92282-bd20-11e7-93c0-01b9cc130722.png) ![image](https://user-images.githubusercontent.com/6723574/32158824-fe3565b8-bd20-11e7-970c-45e525c03948.png) ## CLA - [+] I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well
1 year, 1 month ago

@louisgv commented on PR #189: #182 RadReport mockup

I've also been working on the same issue, but my change was mainly on the styling of the component and not yet putting in the mock data, so this PR won't conflict with mine.
1 year, 1 month ago

@louisgv commented on issue #148: Vue: implement 'Detect and Select' component(s)

@antonow I will be tackling #182 then, since you probably got a plan to get this done. (I've not give it any thought yet :p )
1 year, 1 month ago
1 year, 1 month ago

@louisgv commented on issue #148: Vue: implement 'Detect and Select' component(s)

Is this issue being worked on? If not I will be looking at implementing it next week.
1 year, 1 month ago

@louisgv commented on PR #173: Initialize 'Annotation' UI component

@truefalse10 @lamby thanks for the feedback. I re-scoped those style so that it only affect AnnotateAndSegment. However I would highly recommend a global style for this so that future development will not have to worry about the nav bar. Indeed it shouldn't be using the className `container`, as that will potentially conflict with bootstrap. Regardless, I think that all `view` should have an uniformed offset from the nav.
1 year, 1 month ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

@isms PR submitted. Due to the json for each nodule does not include the data found in the annotation editor, I simply post what I have. Tweaking them should be no problem at all when the backend is solidified.
1 year, 1 month ago

@louisgv opened a new pull request: #173: Initialize 'Annotation' UI component

<!--- Provide a general summary of your changes in the Title above --> Per #149, I implemented 3 components for the annotation: The Annotation editor itself, a ConcernSlider component and a RadioButton component, all are generic and reusable. I also altered the behavior of `Nodule` component so that it is more flexible, allowing foreign editor (like the Annotation editor) to be inserted in the form of a `slot` ## Description <!--- Describe your changes in detail --> + Implement Annotation component + Implement ConcernSlider component (generic) + Implement RadioButton component (generic) + Refactor Nodule component ## Reference to official issue <!--- If fixing a bug, there should be an existing issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #149 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If adding a new feature or making improvements not already reflected in an official issue, please reference the relevant sections of the design doc --> Design doc reference here: http://concept-to-clinic.readthedocs.io/en/latest/design-doc.html#annotate ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> + It seems front-end is lacking test standard/example so I will refrain from making unnecessary architectural decision (unless it is called for). + I tested this briefly with other component and it works ok. + This will heavily alter the behavior of the `Nodule` component. ## Screenshots (if appropriate): ![image](https://user-images.githubusercontent.com/6723574/31701038-7edb7d86-b39b-11e7-9a5f-cb4e0f651dec.png) ![image](https://user-images.githubusercontent.com/6723574/31701044-877fcdac-b39b-11e7-96eb-ce3bd93fbe67.png) ## CLA - [+ ] I have signed the CLA; if other committers are in the commit history, they have signed the CLA as well
1 year, 1 month ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

Looks slicker now: ![image](https://user-images.githubusercontent.com/6723574/31700347-a80d335c-b396-11e7-92a7-104f0482bb8f.png)
1 year, 1 month ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

Some progress: ![image](https://user-images.githubusercontent.com/6723574/31695922-6e8db270-b37b-11e7-97f1-7c90bbb55a0b.png)
1 year, 1 month ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

Update: Sorry for the inactivity. Mid-term is coming up so I couldn't work on this issue for the past week. My midterms will be finished by next week so I should be able to resume the implementation and submit the PR before the end of the month.
1 year, 2 months ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

@isms sounds good. I was concerned that the person who initialized the vue project might already have an idea/plan on how to implement this component. But if I can just follow the best practice/standard, then I will be on my way without having to wait for the original architect approval.
1 year, 2 months ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

@isms Thank you for the instruction! Can you also take a look at my second question? I quoted them below: >>> Also, it seems to me that there is already a NoduleList component in charge of rendering the list of >>> Nodule to be examine, it is however seems to be lacking most of the UI desired in the mock. >>> Should I implement those feature as a separate component and attach them to the Nodule.vue component, or should I refactor the Nodule list to render instead an Annotate component?
1 year, 2 months ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

Also, it seems to me that there is already a NoduleList component in charge of rendering the list of Nodule to be examine, it is however seems to be lacking most of the UI desired in the mock. Should I implement those feature as a separate component and attach them to the Nodule.vue component, or should I refactor the Nodule list to render instead an `Annotate` component? I have
1 year, 2 months ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

@isms How can I obtain need a mock sample json for a nodule? Or the better question would be the documentation for the json schema that would be used to describe a nodule The `/api/nodules.json` endpoint is also returning an empty array. ![image](https://user-images.githubusercontent.com/6723574/31361807-307a217a-ad23-11e7-8e83-6e982567ed7f.png)
1 year, 2 months ago

@louisgv commented on issue #149: Vue: implement nodule 'Annotation' UI component(s)

I will start working on this component, a WIP PR will be issued soon.
1 year, 2 months ago

@louisgv commented on issue #110: Port existing pages to frontend Vue project

Nvm, I just saw the new issue to implement the Vue components.
1 year, 2 months ago

@louisgv commented on issue #110: Port existing pages to frontend Vue project

I have finished forking the repo and having the docker setup! The environment is now running. Would you mind giving me a pointer as to which particular part of the interface should I be looking at?
1 year, 2 months ago
1 year, 2 months ago

@louisgv commented on issue #110: Port existing pages to frontend Vue project

I've read the issue and would like to participate in the refactor. Which piece of this issue has yet to be worked on?
1 year, 2 months ago