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

Data Operations should allow for reasonable numerical fluctuations in q (Trac #493) #626

Closed
butlerpd opened this issue Mar 30, 2019 · 6 comments
Assignees
Labels
Enhancement Feature requests and/or general improvements Major Big change in the code or important change in behaviour
Milestone

Comments

@butlerpd
Copy link
Member

butlerpd commented Mar 30, 2019

Data Operations allows a user to perform simple arithmetic on two data sets (add, subtract, multiply, divide). At this time it does not however interpolate so that a check is made before performing a requested operation that the two data sets have exactly the same number of q points AND that each q point is '''EXACTLY''' the same. This is generally appropriate but will cause the operation to fail even if the q values are essentially identical but differ by even one in the last decimal place.

The attached 2D files provided by Jun-Li Lin of the University of Illionois are an example. These are large data sets presumably generated by a SAXS camera? Somehow the qx of 0.0755253 (either positive or negative) is so close to 0.07552525 that in the blank data set it evaluated to 0.0755252. This was the ONLY discrepancy yet the subtract operation fails as expected. this is roughly a difference of 1.5ppm and is clearly the same value. However in order to fix we will have to decide on a cutoff: how close is close enough? A more complicated but more satisfying answer would be to allow for an option that sets the maximum allowed jiggle.

Another option that might be interesting is to allow interpolation. interpolation

Migrated from http://trac.sasview.org/ticket/493

{
    "status": "closed",
    "changetime": "2016-10-07T15:28:42",
    "_ts": "2016-10-07 15:28:42.671742+00:00",
    "description": "Data Operations allows a user to perform simple arithmetic on two data sets (add, subtract, multiply, divide).  At this time it does not however interpolate so that a check is made before performing a requested operation that the two data sets have exactly the same number of q points AND that each q point is '''EXACTLY''' the same.  This is generally appropriate but will cause the operation to fail even if the q values are essentially identical but differ by even one in the last decimal place.  \n\nThe attached 2D files provided  by Jun-Li Lin of the University of Illionois are an example.  These are large data sets presumably generated by a SAXS camera? Somehow the qx of 0.0755253 (either positive or negative) is so close to 0.07552525 that in the blank data set it evaluated to 0.0755252.  This was the ONLY discrepancy yet the subtract operation fails as expected.  this is roughly a difference of 1.5ppm and is clearly the same value.  However in order to fix we will have to decide on a cutoff: how close is close enough?  A more complicated but more satisfying answer would be to allow for an option that sets the maximum allowed jiggle.  \n\nAnother option that might be interesting is to allow interpolation. interpolation",
    "reporter": "butler",
    "cc": "",
    "resolution": "fixed",
    "workpackage": "SasView Framework Enhancements",
    "time": "2016-01-10T03:56:01",
    "component": "SasView",
    "summary": "Data Operations should allow for reasonable numerical fluctuations in q",
    "priority": "major",
    "keywords": "",
    "milestone": "SasView 4.1.0",
    "owner": "mathieu",
    "type": "enhancement"
}
@butlerpd butlerpd added this to the SasView 4.1.0 milestone Mar 30, 2019
@butlerpd butlerpd added Enhancement Feature requests and/or general improvements Incomplete Migration Major Big change in the code or important change in behaviour and removed Incomplete Migration labels Mar 30, 2019
@butlerpd
Copy link
Member Author

Trac update at 2016/01/10 03:57:51: butler changed attachment from "" to "25883_Iqxy.dat"

@butlerpd
Copy link
Member Author

Trac update at 2016/01/10 04:02:51: butler changed attachment from "" to "25884_Iqxy.dat"

@butlerpd
Copy link
Member Author

Trac update at 2016/06/19 16:37:55:

  • butler commented:

another enhancement that would not be too difficult and very nice to have but given the resources available and amount of work to do for release 4.0 sadly need to move to +1

  • butler changed milestone from "SasView 4.0.0" to "SasView Next Release +1"

@butlerpd
Copy link
Member Author

Trac update at 2016/09/05 03:24:30: butler changed milestone from "SasView Next Release +1" to "SasView 4.1.0"

@mdoucet
Copy link
Contributor

mdoucet commented Mar 30, 2019

Trac update at 2016/10/06 19:52:44:

  • mathieu changed owner from "" to "mathieu"
  • mathieu changed status from "new" to "accepted"

@mdoucet
Copy link
Contributor

mdoucet commented Mar 30, 2019

Trac update at 2016/10/07 15:28:42:

  • mathieu commented:

In changeset 1b1a1c1:

#!CommitTicketReference repository="sasview" revision="1b1a1c1f5fa5d17a2e503d0e1803259f57dc943a"
Add tolerance to data ops. Fixes #626
  • mathieu changed resolution from "" to "fixed"
  • mathieu changed status from "accepted" to "closed"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Feature requests and/or general improvements Major Big change in the code or important change in behaviour
Projects
None yet
Development

No branches or pull requests

2 participants