Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-16456

Firefly image stretch panel: race condition in application of changes in percent/Data/Sigma menus

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: In Progress
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: Firefly, SUIT
    • Labels:

      Description

      In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

      If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

      If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

      This is a combination of an outright bug and a further annoying behavior.

      It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

      (Simon Krughoff has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of possible values, and not limit it to the range of actual values. This is essential when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I've made a separate ticket for this, DM-16457; please don't discuss it here.)

       

      IPAC Firefly ticket https://jira.ipac.caltech.edu/browse/FIREFLY-139

        Attachments

          Issue Links

            Activity

            No builds found.
            gpdf Gregory Dubois-Felsmann created issue -
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Field Original Value New Value
            Epic Link DM-8742 [ 28579 ]
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Link This issue relates to DM-14797 [ DM-14797 ]
            Hide
            xiuqin Xiuqin Wu [X] (Inactive) added a comment -

            This bug creeped in sometimes after the React/Redux re-write. WISE application behaved correctly. There is another ticket about allowing out of range values when "data' is selected. 

            Show
            xiuqin Xiuqin Wu [X] (Inactive) added a comment - This bug creeped in sometimes after the React/Redux re-write. WISE application behaved correctly. There is another ticket about allowing out of range values when "data' is selected. 
            gpdf Gregory Dubois-Felsmann made changes -
            Description In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

            If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

            If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

            This is a combination of an outright bug and a further annoying behavior.

            It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

            ([~krughoff] has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of _possible_ values, and not limit it to the range of _actual_ values. This is *essential* when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I'll make a separate ticket for this; please don't discuss it here.)
            In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

            If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

            If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

            This is a combination of an outright bug and a further annoying behavior.

            It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

            ([~krughoff] has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of _possible_ values, and not limit it to the range of _actual_ values. This is *essential* when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I've made a separate ticket for this, DM-14797; please don't discuss it here.)
            gpdf Gregory Dubois-Felsmann made changes -
            Description In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

            If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

            If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

            This is a combination of an outright bug and a further annoying behavior.

            It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

            ([~krughoff] has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of _possible_ values, and not limit it to the range of _actual_ values. This is *essential* when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I've made a separate ticket for this, DM-14797; please don't discuss it here.)
            In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

            If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

            If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

            This is a combination of an outright bug and a further annoying behavior.

            It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

            ([~krughoff] has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of _possible_ values, and not limit it to the range of _actual_ values. This is *essential* when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I've made a separate ticket for this, DM-16457; please don't discuss it here.)
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Epic Link DM-8742 [ 28579 ] DM-8741 [ 28578 ]
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Sprint SUIT Sprint 2019-06 [ 875 ]
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Sprint SUIT Sprint 2019-06 [ 875 ]
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Epic Link DM-8741 [ 28578 ] DM-17262 [ 239050 ]
            xiuqin Xiuqin Wu [X] (Inactive) made changes -
            Story Points 8
            Description In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

            If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

            If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

            This is a combination of an outright bug and a further annoying behavior.

            It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

            ([~krughoff] has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of _possible_ values, and not limit it to the range of _actual_ values. This is *essential* when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I've made a separate ticket for this, DM-16457; please don't discuss it here.)
            In the image stretch dialog, if you start out in the default state where the min and max data type menus are showing "%", then type in a number for "max" that is greater than 100 (but less than the maximum pixel value in the image), you get an error highlight for the field. That's as designed, of course.

            If you then change the "max" menu to the "Data" setting, the error highlight does not go away (and the value in the field is unchanged). If you click "Refresh" you also get a data validation error. So it appears that the change from "%" to "Data" is not actually taking effect.

            If you then attempt to edit the value in the field, more weird things happen. If you add a digit to the value in the field, it still stays in the error state. If you backspace over a digit, the whole value in the field is replaced by the data value corresponding to 99%. At this point validation is switched to being in "Data" units and you can actually enter the number you want.

            This is a combination of an outright bug and a further annoying behavior.

            It is such a common user behavior to type the value before changing the units that we need to support this. If I type "150" into the field when in "%" mode, and I get a warning that it's an invalid value, I should be able to just change units to "Data" and proceed, without retyping my value.

            ([~krughoff] has raised the separate question of whether we should be enforcing limits at all. It is arguably useful to be able to base the stretch on the range of _possible_ values, and not limit it to the range of _actual_ values. This is *essential* when setting up a stretch to produce common colors for a common data value across multiple images with different actual minima and maxima. I've made a separate ticket for this, DM-16457; please don't discuss it here.)

             

            IPAC Firefly ticket https://jira.ipac.caltech.edu/browse/FIREFLY-139
            Hide
            gpdf Gregory Dubois-Felsmann added a comment - - edited

            Work is starting on this ticket now, under FIREFLY-139 at IPAC.

            Show
            gpdf Gregory Dubois-Felsmann added a comment - - edited Work is starting on this ticket now, under FIREFLY-139 at IPAC.
            gpdf Gregory Dubois-Felsmann made changes -
            Status To Do [ 10001 ] In Progress [ 3 ]
            gpdf Gregory Dubois-Felsmann made changes -
            Epic Link DM-17262 [ 239050 ] DM-32020 [ 750334 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              gpdf Gregory Dubois-Felsmann
              Watchers:
              Gregory Dubois-Felsmann, Simon Krughoff, Tatiana Goldina, Trey Roby, Vandana Desai, Xiuqin Wu [X] (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:

                  Jenkins

                  No builds found.