Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The initialisation test is too permissive (linked with #143) #142

Closed
servoz opened this issue Feb 3, 2020 · 8 comments
Closed

The initialisation test is too permissive (linked with #143) #142

servoz opened this issue Feb 3, 2020 · 8 comments
Labels
bug Something isn't working

Comments

@servoz
Copy link
Contributor

servoz commented Feb 3, 2020

Initialising a pipeline in one Pipeline Manager tab with success permit to run the pipelines in all tabs !

Example:

  • Launch Mia
  • Import or open a project with for ex. one anat.nii
  • Go to Pipeline Manager
  • In the New Pipeline tab, drag and drop the Smooth brick from the mia_processes library
  • Open a new tab then drag and drop for example a NewSegment brick from the mia_processes library
  • On this NewSegment brick, right click and choose Export all unconnected plugs
  • Go to the first tab then, on the smooth brick, right click and choose Export all unconnected plugs
  • Click on the inputs node then click on the Filter button for the in_files parameter, in the controller (right part of the window).
  • Select the anat.nii file from the database.
  • Pipeline > Initialize pipeline
  • Go to the tab with the NewSegment brick and run this brick, that was not initialised !
@servoz servoz added the bug Something isn't working label Feb 3, 2020
@servoz servoz added this to the Populse_mia objectives for populse release 20.06 milestone Feb 3, 2020
@M40V M40V closed this as completed in 6b97ab4 Feb 4, 2020
@servoz servoz reopened this Feb 5, 2020
@servoz
Copy link
Contributor Author

servoz commented Feb 5, 2020

I've just tested the first post and the problem doesn't seem to be fixed.

@M40V M40V closed this as completed in 579527d Feb 5, 2020
@servoz servoz reopened this Feb 6, 2020
@servoz
Copy link
Contributor Author

servoz commented Feb 6, 2020

It's not working properly !!!
For the first post, the last sentence is now:

  • Go to the tab with the NewSegment brick: the "run" button is disabled (exactly what we wanted!)
    BUT :
    if we go back to the tab with the smooth brick that was previously initialised, the "run" button remains disabled !

OK, this current operation is like forcing the user to run the calculation just after initialisation (if he change of tab, it is necessary to do again the initialisation for all the tabs). It is already better than which existed previously, but it is a little bit hardcore

@M40V
Copy link
Contributor

M40V commented Feb 6, 2020

Ok, I didn't understand we wanted this feature. In this case I propose we link this issue to #143 in which it'll be interesting to reactivate the run button if after some changes the node parameters are put back to the ones used for initialization.
After an initialization we'll store in a variable the index of the tab (update this index if tabs are closed) and the parameters. If they change, the run button will be disabled, if they're restored to their previous value, it will be enabled again.

@servoz
Copy link
Contributor Author

servoz commented Feb 7, 2020

Indeed, linking this ticket with #143 makes sense.

@M40V M40V changed the title The initialisation test is too permissive The initialisation test is too permissive (linked with #143) Feb 7, 2020
@servoz
Copy link
Contributor Author

servoz commented Feb 11, 2020

So, I think linking tickets #142 and #143 together is like saying:

@servoz
Copy link
Contributor Author

servoz commented Feb 26, 2020

A test was performed in #143 that seems to indicate that this issue is now fixed.

@servoz servoz closed this as completed Feb 26, 2020
@servoz servoz unpinned this issue Feb 26, 2020
@servoz servoz reopened this Feb 26, 2020
@servoz servoz pinned this issue Feb 26, 2020
@servoz
Copy link
Contributor Author

servoz commented Feb 26, 2020

As we discussed with @M40V this afternoon, we haven't sufficiently taken into account the interaction with the database for the implementation of the management of successive initialisations. I reopen this ticket, because we will now have to improve the database management in the case of several successive initialisations without running the calculation.

Steps to reproduce:

  • Launch Mia
  • Import or open a project with for ex. one anat.nii and one func.nii
  • Go to Pipeline Manager
  • In the New Pipeline tab, drag and drop the Realign and Coregister bricks from the mia_processes library
  • Right click on the Realign brick and choose Export all unconnected inputs
  • link the realigned_files and mean_image plugs of the Realign bricks to the apply_to_files and source plugs of the Coregister brick, respectively
  • Right click on the Realign brick and choose Export all unconnected outputs
  • Right click on the Coregister brick and choose Export all unconnected outputs
  • Right click on the target plug of the Coregister brick and choose Export plug, click on ok
  • Click on the inputs node then click on the Filter button for the in_files and target parameters, in the controller (right part of the window).
  • Select the func.nii and the anat.nii files, respectively, from the database.
  • Pipeline > Initialize pipeline
  • Go to Data Browser and observe the result (all is good)
  • Open a new tab then drag and drop for example two Smooth bricks from the mia_processes library
  • Right click on the smooth1 brick and choose Export all unconnected inputs
  • Right click on the smooth2 brick and choose Export all unconnected outputs
  • Link the smoothed_files of the smooth1 bricks to the in_files of the smooth2 brick
  • Click on the inputs node then click on the Filter button for the in_files parameter, in the controller (right part of the window).
    => First issue, with have now only access to the anat.nii scan !
  • Select the anat.nii file from the database.
  • Pipeline > Initialize pipeline
  • Go to Data Browser and observe the result (all is good, but we have lost the outputs for the first tab. => Second issue, vide supra. In fact, in our current way of working, it is useless to manage the successive initialisations because the database is only ready for the last pipeline initialised ...)
  • Go back to the fisrt tab.
  • Pipeline > Run pipeline
  • Mia doesn't crash, but the pipeline isn't launched. There's this message in the terminal:
    The document with the name cdef024a-f3d4-495b-8846-966df7d725aa does not exist in the collection brick => Second issue
  • third issue (less important, but annoying): We observe in the message bar of mia: Pipeline "" has been correctly run => this is a fake news !

M40V added a commit that referenced this issue Feb 27, 2020
@M40V
Copy link
Contributor

M40V commented Feb 27, 2020

As discussed with @servoz, the commit cf41061 limit the run pipeline action to the last initialized pipeline. If there's multiple tabs opened, the run action will be enabled only when on the tab that was initialized last. It allows us to avoid the issues with the database management stated in the previous post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants