1460712033-d7aa8e12-2bec-47ce-b4dd-52281c40fd11

1. A system for imaging objects within a sample comprising:
an image sensor;
an illumination source configured to scan in at least two-dimensions relative to the image sensor and illuminate the sample at a plurality of different locations;
a sample interposed between the image sensor and the illumination source; and
at least one processor configured to reconstruct an image of the sample based on the images obtained from illumination source at the plurality of different scan positions.
2. The system of claim 1, further comprising a sample holder configured to hold the sample, the sample holder disposed adjacent to the image sensor.
3. The system of claim 1, wherein the sample is disposed directly on an active area of the image sensor.
4. The system of claim 1, wherein the scan is in three dimensions, wherein the third dimension is one of angle or z distance relative to the image sensor.
5. The system of claim 1, wherein the illumination source comprises one of an aperture or optical waveguide configured to direct light to the sample.
6. The system of claim 1, wherein the illumination source comprises a display and wherein the at least two dimensional scan comprises moving a bright spot in at least two dimensions relative to the image sensor to illuminate the sample at a plurality of different locations.
7. The system of claim 1, wherein the scan of the illumination source comprises repeated incremental movement in the range of about 0.001 mm to about 500 mm.
8. The system of claim 5, further comprising a mechanically scanning stage configured to move the at least one of the aperture and optical waveguide relative to the image sensor.
9. The system of claim 1, further comprising at least one processor operatively connected to the mechanically scanning stage and configured to control the same.
10. A system for imaging a sample comprising:
an image sensor;
one or more illumination sources coupled to an array of optical waveguides, wherein the each optical waveguide of the array terminates at a different spatial location in three dimensional space; and
a sample interposed between the image sensor and the one or more illumination sources.
11. The system of claim 10, further comprising a sample holder configured to hold the sample, the sample holder disposed adjacent to the image sensor.
12. The system of claim 10, wherein the sample is disposed directly on an active area of the image sensor.
13. The system of claim 10, wherein the one or more illumination sources comprises a plurality of LEDs or laser diodes, wherein each optical waveguide is coupled to a respective LED or laser diode.
14. The system of claim 13, further comprising a processor configured to selectively actuate the plurality of LEDs or laser diodes.
15. The system of claim 10, wherein the different spatial locations are disposed along a single dimension defining a line.
16. The system of claim 10, wherein the different spatial locations are disposed along two dimensions defining a plane.
17. The system of claim 10, wherein the different spatial locations are disposed along three dimensions defining a volume.
18. A system for imaging a sample comprising:
an image sensor;
an illumination source comprising an array of light sources that are physically separated from each other in the range of about 0.001 mm to about 500 mm; and
a sample interposed between the image sensor and the illumination source.
19. The system of claim 18, wherein the array of light sources comprises a plurality of LEDs each coupled to respective optical waveguides terminating at physically separate locations.
20. The system of claim 18, the array of light sources comprises a plurality of laser diodes each coupled to respective optical waveguides terminating at physically separate locations.
21. A method of imaging a sample comprising:
illuminating a sample with an illumination source emitting light at a first position through at least one of an aperture or an optical waveguide;
obtaining a lower resolution image frame of the sample from an image sensor at the first position;
illuminating the sample with the illumination source at a plurality of additional positions;
obtaining a plurality of additional lower resolution image frames at each of the plurality of additional positions; and
recovering a higher resolution image of the sample based at least in part on the plurality of lower resolution image frames.
22. The method of claim 21, wherein the illumination source emits light at the plurality of positions by physical movement of the illumination source.
23. The method of claim 22, wherein the illumination source is moved incrementally in the range of about 0.001 mm to about 500 mm.
24. The method of claim 21, wherein the illumination source comprises an array of optical waveguides and wherein the plurality of positions are obtained by selection of individual optical waveguides within the array.
25. The method of claim 24, wherein each optical waveguide is operatively coupled to its own light-emitting diode (LED) and wherein the LEDs are sequentially turned on.
26. The method of claim 24, wherein each optical waveguide is operatively coupled to its own laser diode and wherein the laser diodes are sequentially turned on.
27. The method of claim 21, wherein the higher resolution image of the sample is obtained from less than 500 lower resolution image frames.
28. The method of claim 21, wherein the higher resolution image of the sample is obtained from less than 5 lower resolution image frames.

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 method for testing a computing product, comprising:
running a battery of test programs in a test facility so as to simulate operation of said computing product;
observing that a particular test program in said battery engenders behavior of interest during said simulated operation;
generating a standalone version of said particular test program, which is capable of running on said computing product independently of said test facility;
downloading said standalone version to a development facility; and
executing said particular test program on said computing product at said development facility using said standalone version.
2. The method according to claim 1, wherein executing said particular test program comprises presenting an output of said particular test program using a display at said development facility.
3. The method according to claim 2, wherein said computing product comprises a mobile information device, and wherein said display is integrally a part of said mobile information device.
4. The method according to claim 2, further comprising the steps of:
responsively to said output establishing a modified test condition for said particular test program; and
repeating said step of executing said particular test program using said modified test condition.
5. The method according to claim 1, wherein said particular test program invokes functions of a development application programming interface, and said step of generating a standalone version comprises the steps of:
providing a standalone implementation of said development application programming interface for use by said particular test program; and
downloading said particular test program and said standalone implementation of said development application programing interface to said computing product, wherein said computing product is disposed at a second location.
6. The method according to claim 5, wherein said particular test program comprises a plurality of test cases, further comprising the steps of:
preparing a properties file that specifies an order of execution of said test cases;
downloading said properties file to said computing product; and
executing said test cases on said computing product in said order of execution.
7. The method according to claim 5, wherein said particular test program comprises a plurality of test cases, further comprising the steps of:
encoding an order of execution of said test cases in said particular test program; and
executing said test cases on said computing product in said order of execution.
8. The method according to claim 5, further comprising the steps of:
following performance of said step of executing said particular test program and presenting results thereof;
responsively to said results establishing a modified test condition for said particular test program; and
repeating said step of executing said particular test program using said modified test condition.
9. The method according to claim 8, wherein said step of presenting said results is performed using said standalone implementation of said development application programming interface.
10. The method according to claim 5, further comprising the steps of:
following performance of said step of executing said particular test program presenting results thereof;
responsively to said results modifying said particular test program; and
thereafter repeating said step of executing said particular test program.
11. The method according to claim 10, wherein said step of presenting said results is performed using said standalone implementation of said development application programming interface.
12. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause said computer to perform a method for generating a standalone testing program for a design-under-test comprising the steps of:
at a first location:
running at least a portion of a battery of test programs in a test harness linked to said computer so as to test operation of said design-under-test, said test programs invoking functions of a development application programming interface;
selecting one of said test programs of said battery;
assembling said one of said test programs as a MIDlet that is adapted to be executed on an information device;
providing a standalone implementation of said application programming interface for said MIDlet, said standalone implementation of said application programming interface being an implementation of said development application programming interface that is adapted to said information device; and
downloading said MIDlet and said standalone implementation of said application programming interface to said information device, wherein said information device is disposed at a second location.
13. The computer software product according to claim 12, wherein said one of said test programs comprises a plurality of test cases, wherein said instructions further cause said computer to execute the steps of:
at said first location preparing a properties file that specifies an order of execution of said test cases; and
downloading said properties file to said information device; wherein said standalone implementation of said application programming interface is adapted to cause said MIDlet to execute said test cases on said information device in said order of execution.
14. The computer software product according to claim 12, wherein said standalone implementation of said application programming interface is adapted to cause said information device to perform the steps of:
following performance of said step of executing said MIDlet displaying results thereof to a user;
thereafter, responsively to an instruction from the user establishing a modified test condition for said MIDlet; and
repeating said step of executing said MIDlet using said modified test condition.
15. The computer software product according to claim 12, wherein said standalone implementation of said application programming interface comprises a class that controls an interaction of said MIDlet with a runtime environment thereof.
16. The computer software product according to claim 15, wherein said class comprises a function that returns a description of said one of said test programs.
17. The computer software product according to claim 15, wherein said class comprises a function that returns properties of said runtime environment.
18. The computer software product according to claim 15, wherein said class comprises a function for logging error information relating to said one of said test programs.
19. The computer software product according to claim 15, wherein said class comprises a function that returns a specified property of said one of said test programs.
20. The computer software product according to claim 15, wherein said one of said test programs comprises a plurality of cases, and said class comprises a function that is invoked during performance of said step of executing said MIDlet, said function returning a status of a specified one of said cases.
21. The computer software product according to claim 15, wherein said class comprises a function that registers results of a specified case of said one of said test programs.
22. The computer software product according to claim 15, wherein said class comprises a function that suspends said step of executing said MIDlet.
23. The computer software product according to claim 22, wherein said function suspends said step of executing said MIDlet for a specified interval.
24. The computer software product according to claim 15, wherein said class comprises a function that causes said step of executing said MIDlet to resume following a suspension thereof.
25. The computer software product according to claim 15, wherein said class comprises a function that returns a current execution mode of said class.
26. The computer software product according to claim 15, wherein said class comprises a function that displays results of said one of said test programs.
27. A data processing system for generating a standalone test program for an information device, wherein said test program invokes functions of a development application programming interface, comprising:
a computer readable memory having a data structure stored therein, said data structure including a standalone implementation of said application programming interface for executing said test program in a standalone mode of operation, wherein said standalone implementation of said application programming interface is an implementation of said development application programming interface that is adapted to enable said information device to perform the steps of:
executing said test program in said standalone mode of operation; and
thereafter presenting test results to a user, wherein said standalone implementation of said application programming interface comprises a class that controls an interaction of said test program with a runtime environment thereof.
28. The data processing system according to claim 27, wherein said class comprises a function that returns a description of a test case of said test program.
29. The data processing system according to claim 27, wherein said class comprises a function that returns properties of said runtime environment.
30. The data processing system according to claim 27, wherein said class comprises a function for logging error information relating to said test program.
31. The data processing system according to claim 27, wherein said class comprises a function that returns a specified property of a test case of said test program.
32. The data processing system according to claim 27, wherein said test program comprises a plurality of test cases, and said class comprises a function that is invoked during performance of said step of executing said test program, said function returning a status of a specified one of said test cases.
33. The data processing system according to claim 27, wherein said test program comprises a plurality of test cases, and said class comprises a function that registers results of a specified one of said test cases.
34. The data processing system according to claim 27, wherein said class comprises a function that suspends said step of executing said test program.
35. The data processing system according to claim 34, wherein said function suspends said step of executing said test program for a specified interval.
36. The data processing system according to claim 27, wherein said class comprises a function that causes said step of executing said test program to resume following a suspension thereof.
37. The data processing system according to claim 27, wherein said class comprises a function that returns a current execution mode of said class.
38. The data processing system according to claim 27, wherein said class comprises a function that displays results of said test program following execution thereof on said information device.
39. A computer-implemented test harness, comprising:
a first application programming interface;
a test selection module, accessible via said first application programing interface;
a local test execution module, for testing a design-under-test responsively to said test selection module;
an application generator adapted to generate an executable program for conducting selected tests on a remote device, said application generator being responsive to said first application programming interface, said selected tests being chosen responsively to results of said local test execution module, and said selected tests invoking functions of a development application programing interface;
a persistent storage having a data structure resident therein, said data structure comprising a second implementation of said development application programming interface, said second implementation of said development application programming interface being an implementation of said development application programming interface that is adapted to said remote device, wherein an order of test execution is obtained for at least one test procedure via said test selection module and said first application programming interface; and
a packaging module, adapted to assemble said program, and said data structure into a download package for transmission to said remote device, said download package being configured for standalone execution of said program on said remote device according to directions received from a user via said second implementation of said development application programming interface.
40. The computer-implemented test harness according to claim 39, wherein said local test execution module comprises a simulation unit.
41. The computer-implemented test harness according to claim 39, wherein said local test execution module comprises a link to another remote device, said another remote device being identical to said remote device.
42. The computer-implemented test harness according to claim 39, wherein said design-under-test comprises software adapted to execute on said remote device.
43. The computer-implemented test harness according to claim 39, wherein said design-under-test comprises at least a portion of said remote device.
44. The computer-implemented test harness according to claim 39, wherein said download package comprises a JAR file.
45. The computer-implemented test harness according to claim 39, wherein said download package is a zip file.
46. The computer-implemented test harness according to claim 39, further comprising a server for a data network that is initially accessible by said remote device, said application generator and said persistent storage being disposed in said server.
47. The computer-implemented test harness according to claim 39, wherein said second implementation of said development application programming interface comprises a class that controls an interaction of said program with a runtime environment thereof.
48. The computer-implemented test harness according to claim 47, wherein said class comprises a function that returns a description of said test procedure.
49. The computer-implemented test harness according to claim 47, wherein said class comprises a function that returns properties of said runtime environment.
50. The computer-implemented test harness according to claim 47, wherein said class comprises a function for logging error information relating to said test procedure.
51. The computer-implemented test harness according to claim 47, wherein said class comprises a function that returns a specified property of said test procedure.
52. The computer-implemented test harness according to claim 47, wherein said test procedure comprises a plurality of cases, and said class comprises a function that is invoked while executing said program on said remote device, said function returning a status of a specified one of said cases.
53. The computer-implemented test harness according to claim 47, wherein said class comprises a function that registers results of a specified case of said test procedure.
54. The computer-implemented test harness according to claim 47, wherein said class comprises a function that suspends execution of said program on said remote device.
55. The computer-implemented test harness according to claim 54, wherein said function suspends execution of said program on said remote device for a specified interval.
56. The computer-implemented test harness according to claim 47, wherein said class comprises a function that causes a resumption of execution of said program on said remote device following a suspension thereof.
57. The computer-implemented test harness according to claim 47, wherein said class comprises a function that returns a current execution mode of said class.
58. The computer-implemented test harness according to claim 47, wherein said class comprises a function that displays results of said test procedure.