1460758924-20e34961-f87a-47de-be08-5720d959536b

1. A hydration monitoring method comprising:
receiving photoplethysmographic (PPG) pulse data from a subject;
selecting a subset of the PPG pulse data from the subject, the subset of PPG pulse data satisfying a data integrity condition; and
determining changes in tissue volume and changes in vascular volume within body tissue of the subject based on the selected subset of PPG pulse data.
2. The method of claim 1, further comprising computing a hydration metric based on the determined changes in tissue volume and changes in vascular volume within the body tissue of the subject.
3. The method of claim 1, wherein selecting a subset of the PPG pulse data comprises omitting another subset of PPG pulse data that does not satisfy a data integrity condition.
4. The method of claim 2, further comprising communicating the computed hydration metric of the body tissue of the subject via a communications interface.
5. The method of claim 1, wherein receiving a subset of PPG pulse data further comprises receiving raw PPG pulse data as a sequence of data samples.
6. The method of claim 5, further comprising analyzing individual pulses of the raw PPG pulse data against each other to determine data integrity.
7. The method of claim 1, wherein the selecting a subset of the PPG pulse data further comprises utilizing a filtering scheme to select a subset of the PPG pulse data from the subject that satisfies a data integrity condition.
8. The method of claim 7, wherein the filtering scheme is based on at least one of amplitude, time, and pulse recognition measured in the subset of the PPG pulse data.
9. The method of claim 7, wherein the filtering scheme is based on a ratio of adjacent amplitudes per pulse measured in the subset of the PPG pulse data.
10. The method of claim 7, wherein the filtering scheme is based on a time distance ratio measured in the subset of the PPG pulse data.
11. The method of claim 7, wherein the filtering scheme is based on a delta in absolute pulse height measured in the subset of the PPG pulse data.
12. The method of claim 7, wherein the filtering scheme is based on a delta in absolute pulse distances measured in the subset of the PPG pulse data.
13. The method of claim 1, further comprising selecting hydration metric data that satisfies a result integrity condition.
14. The method of claim 13, further comprising utilizing a filtering scheme to select hydration metric data that satisfies a result integrity condition.
15. The method of claim 14, wherein the filtering scheme is a smoothing algorithm.
16. A biometric monitoring method comprising:
receiving photoplethysmographic (PPG) pulse data from a subject;
selecting a subset of the PPG pulse data from the subject, the subset of PPG pulse data satisfying a data integrity condition;
determining changes in tissue volume and changes in vascular volume within body tissue of the subject based on the selected PPG pulse data;
computing a biometric metric based on the determined changes in tissue volume and changes in vascular volume within the body tissue of the subject; and
communicating the computed biometric metric of the body tissue of the subject via a communications interface.
17. One or more computer-readable storage media encoding computer-executable instructions for executing on a computer system a computer process, the computer process comprising:
receiving photoplethysmographic (PPG) pulse data from a subject;
selecting a subset of the PPG pulse data from the subject, the subset of PPG pulse data satisfying a data integrity condition; and
determining changes in tissue volume and changes in vascular volume within body tissue of the subject based on the selected subset of PPG pulse data.
18. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises computing a hydration metric based on the determined changes in tissue volume and changes in vascular volume within the body tissue of the subject.
19. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises omitting another subset of PPG pulse data that does not satisfy a data integrity condition.
20. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises communicating the computed hydration metric of the body tissue of the subject via a communications interface.
21. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises receiving raw PPG pulse data as a sequence of data samples.
22. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises analyzing individual pulses of the raw PPG pulse data against each other to determine data integrity.
23. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises utilizing a filtering scheme to select PPG pulse data from the subject that satisfies a data integrity condition.
24. The one or more computer-readable storage media of claim 23, wherein the computer process further comprises utilizing a filtering scheme based on at least one of amplitude, time, and pulse recognition measured in the PPG pulse data.
25. The one or more computer-readable storage media of claim 23, wherein the computer process further comprises utilizing a filtering scheme based on a ratio of adjacent amplitudes per pulse measured in the PPG pulse data.
26. The one or more computer-readable storage media of claim 23, wherein the computer process further comprises utilizing a filtering scheme based on a time distance ratio measured in the PPG pulse data.
27. The one or more computer-readable storage media of claim 23, wherein the computer process further comprises utilizing a filtering scheme is based on a delta in absolute pulse height measured in the PPG pulse data.
28. The one or more computer-readable storage media of claim 23, wherein the computer process further comprises utilizing a filtering scheme based on a delta in absolute pulse distances measured in the PPG pulse data.
29. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises selecting hydration metric data that satisfies a result integrity condition.
30. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises utilizing a filtering scheme to select hydration metric data that satisfies a result integrity condition.
31. The one or more computer-readable storage media of claim 1, wherein the computer process further comprises utilizing a filtering scheme based on a smoothing algorithm.
32. A system comprising:
a processor configured to receive photoplethysmographic (PPG) pulse data from a subject, select a subset of the PPG pulse data from the subject, the subset of PPG pulse data satisfying a data integrity condition, determine changes in tissue volume and changes in vascular volume within body tissue of the subject based on the selected PPG pulse data, compute a biometric metric based on the determined changes in tissue volume and changes in vascular volume within the body tissue of the subject; and
a communications interface configured to communicate the computed hydration metric of the body tissue of the subject.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A system comprising:
a display
a memory storing a software application; and
a processor configured to execute the software application to:
display a linkage on the display, the linkage including a plurality of links and a plurality of motors, each of the plurality of links being connected to at least another of the plurality of links using one of the plurality of motors;
receive a user input selecting a first link and a second link from the plurality of links and a motor from the plurality of motors, the motor being located between the first link and the second link; and
generate an updated linkage by connecting the first link to the second link using a new link and replacing the motor with a pin.
2. The system of claim 1, wherein before generating the updated linkage, the processor is further configured to execute the software application to:
determine a plurality of updated linkages including the updated linkage, each of the plurality of updated linkages including the new link connecting the first link to the second link and replacing the motor with the pin;
display the plurality of updated linkages including the updated linkage on the display; and
receive a user selection for the updated linkage from the plurality of linkages.
3. The system of claim 2, wherein the processor is further configured to execute the software application to simulate each of the plurality of updated linkages being displayed on the display.
4. The system of claim 1, wherein before generating the updated linkage, the processor is further configured to execute the software application to determine a first point on the first link and a second point on the second link such that a distance between the first point and the second point changes the least during a motion of the linkage.
5. The system of claim 4, wherein the processor is further configured to execute the software application to generate the updated linkage by connecting the new link to the first point on the first link and to the second point on the second link.
6. The system of claim 1, wherein the linkage is displayed on the display using a user interface for a user to select the first link, the second link, and the motor using the user interface.
7. The system of claim 1, wherein the processor is further configured to execute the software application to:
receive a plurality of user inputs, each of the plurality of user inputs selecting another first link and another second link from the plurality of links and another motor from the plurality of motors, the another motor being located between the another first link and the another second link; and
for each of the plurality of user inputs, generate an another updated linkage by connecting the another first link to the another second link using another new link and replacing the another motor with another pin.
8. The system of claim 7, wherein the processor is further configured to execute the software application to receive the plurality of user inputs until the another updated linkage includes only a single motor from the plurality of motors.
9. The system of claim 1, wherein the processor is further configured to execute the software application to receive another user input, the another user input used to add an auxiliary link to the updated linkage.
10. The system of claim 9, wherein the auxiliary link connects a user selected first link to a user selected second link from the plurality of links.
11. A method for optimizing a linkage, the method comprising:
displaying the linkage on a display, the linkage including a plurality of links and a plurality of motors, each of the plurality of links being connected to at least another of the plurality of links using one of the plurality of motors;
receiving a user input selecting a first link and a second link from the plurality of links and a motor from the plurality of motors, the motor being located between the first link and the second link; and
generating an updated linkage by connecting the first link to the second link using a new link and replacing the motor with a pin.
12. The method of claim 11, wherein before generating the updated linkage, the method further comprises:
determining a plurality of updated linkages including the updated linkage, each of the plurality of updated linkages including the new link connecting the first link to the second link and replacing the motor with the pin;
displaying the plurality of updated linkages including the updated linkage on the display; and
receiving a user selection for the updated linkage from the plurality of linkages.
13. The method of claim 12, wherein the method further comprises simulating each of the plurality of updated linkages being displayed on the display.
14. The method of claim 11, wherein before generating the updated linkage, the method further comprises determining a first point on the first link and a second point on the second link such that a distance between the first point and the second point changes the least during a motion of the linkage.
15. The method of claim 14, wherein the method further comprises generating the updated linkage by connecting the new link to the first point on the first link and to the second point on the second link.
16. The method of claim 11, wherein the linkage is displayed on the display using a user interface for a user to select the first link, the second link, and the motor using the user interface.
17. The method of claim 11, wherein the method further comprises:
receiving a plurality of user inputs, each of the plurality of user inputs selecting another first link and another second link from the plurality of links and another motor from the plurality of motors, the another motor being located between the another first link and the another second link; and
for each of the plurality of user inputs, generating an another updated linkage by connecting the another first link to the another second link using another new link and replacing the another motor with another pin.
18. The method of claim 17, wherein the method further comprises receiving the plurality of user inputs until the another updated linkage includes only a single motor from the plurality of motors.
19. The method of claim 11, wherein the method further comprises receiving another user input, the another user input used to add an auxiliary link to the updated linkage.
20. The method of claim 19, wherein the auxiliary link connects a user selected first link to a user selected second link from the plurality of links.