1461125194-8edd8732-9342-4a3c-83cc-8d07dc90f755

1. A computer readable medium for storing a computer program which, when executed by a processor, provides a data structure of at least one table within a segmented information stream, comprising:
a header portion, including a stream type identifier; and
a payload portion, including a directory and said at least one table;
said directory occupying at least a first segment within said payload portion of said information stream and including, for each of said at least one tables, a respective table description record, said table description record including indicia of table type and number of table segments, said table description record also including a segment bit array field, said segment bit array field including at least one bit corresponding to each of said number of table segments;
said at least one table occupying one or more contiguous segments within said payload portion of said information stream.
2. In an information stream receiver, a method for processing a received information stream formed according to the data structure of claim 1 to determine if a desired table has been received, comprising the steps of:
receiving a directory including a table description record associated with said desired table, said at least one bit within said segment bit array corresponding to each of said number of table segments being set to a first state;
iteratively performing the following steps until each corresponding bit within said segment bit array is set to a second state:
receiving a plurality of segments, including segments associated with said desired table; and
changing to the second state, in response to receiving a segment associated with said desired table, said bit within said segment bit array corresponding to said received segment.
3. The data structure of claim 1, wherein said stream type identifier enables a receiver to disregard a segmented information stream of an unsupported type.
4. The data structure of claim 1, wherein:
said data structure provides a plurality of object tables within remaining payload segments of the segmented information stream.
5. The data structure of claim 1, wherein each table description record includes a segment length field and a number of bytes in table field.
6. The data structure of claim 4, wherein at least one object table is associated with a palette asset and a bit map asset, the palette asset defining colors used to form a bit map image, said bit map asset defining a graphical image.
7. A computer readable medium storing instructions which, when executed by a processor perform a method of forming the data structure of claim 1, the method comprising:
receiving one or more object tables;
constructing said stream header portion including said stream type identifier;
constructing said stream payload portion including said directory and said one or more tables;
concatenating said header and payload portions to form said segmented information stream.
8. The method of claim 7, further comprising:
converting said segmented information stream into a transport stream.
9. The method of claim 8, further comprising: transmitting said transport stream toward each of a plurality of receivers.
10. The method of claim 2, further comprising:
rejecting a received information stream having a stream type identifier indicative of an unrecognized stream type.
11. The method of claim 2, wherein header portion of said data structure further comprises a version identifier, said method further comprising:
rejecting a received information stream having an identified version number greater than a platform code version number.
12. The method of claim 2, wherein header portion of said data structure further comprises a content identifier, said method further comprising:
replacing at least one previously received table with a presently received table in response to a content identifier indicative of a stream change condition.
13. The method of claim 2, wherein header portion of said data structure further comprises a creation date identifier, said method further comprising:
replacing at least one previously received table with a presently received table in response to the presently received table being associated with a later creation date.
14. The method of claim 2, wherein information streams including previously received tables are periodically received, wherein the header portion of said data structure further comprises at least one of a major version identifier and a minor version identifier, said method further comprising:
rejecting a received information stream having an identified major version number greater than a platform code version number; and
selectively accepting a received information stream having an identified minor version number greater than a platform code version number.
15. The method of claim 2, further comprising:
processing the received information stream to receive a new table in response to said directory comprising a NULL directory.

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 enhancing a virtual examination of an object comprising:
marking voxels in an image dataset as viewed as those voxels are presented on a user display;
identifying voxels not marked as viewed after the completion of an initial examination;
providing a user display identifying all regions of voxels identified which have a size larger than a predetermined threshold.
2. The method of claim 1, wherein the user display identifying all regions is a 2D planar projection of a 3D closed object.
3. The method of claim 2, wherein the 2D planar projection provides a display of a graphical user interface, wherein when a user selects a region of unviewed voxels, a display of the 3D closed object at the selected region is presented.
4. The method of claim 2, wherein the 2D planar projection is a Mercator projection of a lumen shaped object onto a 2D plane.
5. The method of claim 1, wherein the user display identifying all missed regions is a tabular list of the missed regions.
6. The method of claim 1, wherein the marking of voxels as viewed is a binary marking representing that the voxel was displayed.
7. The method of claim 1, wherein the marking of voxels as viewed is a multi-level marking corresponding to the level of participation of the voxel when displayed.
8. A method for quantitative measurement of physical parameters of a virtual object comprising placing at least one measuring disk at a location along a centerline of a virtual object, wherein the measuring disk defines a plane aligned perpendicular to the centerline of the object.
9. The method of claim 8, wherein the at least one measuring disk has a radius corresponding to the minimum radius of the object at the point of placement and wherein the diameter of the measuring disk represents the diameter of the object.
10. The method of claim 8, wherein the at least one measuring disk comprises two measuring disks, wherein the two measuring disks are placed at desired points on the centerline, between which a distance along the centerline is measured.
11. The method of claim 8, wherein the at least one measuring disk comprises two measuring disks, wherein the two measuring disks are placed at desired points on the centerline and the plane of the measuring disks and object boundary define a volume to be measured.
12. The method of claim 8, wherein the at least one measuring disk comprises three measuring disks located along the centerline of an object, the three measuring disks defining the endpoints and vertex of an angle to be measured on the object.
13. A method of electronically cleaning a virtual object comprising:
defining a plurality of intensity value ranges representing corresponding material type classifications in the image data;
identifying boundary regions between at least a portion of the material type classifications in the image data;
defining at least one set of intersection conditions which correspond to expected intersection regions;
casting segmentation rays from the boundary regions to detect regions which satisfy any of the at least one set of intersection conditions; and
performing intersection region specific correction on the detected regions.
14. The method of claim 13, further comprising the step of volumetric contrast enhancement.
15. The method of claim 13, wherein the step of identifying boundary regions further comprises:
selecting a material type for segmentation;
identifying seed voxels in the regions of the selected material type; and
applying region growing from the seed voxels until a boundary between the selected material type and another material type is detected.
16. The method of claim 14, wherein the virtual object is a colon and wherein the plurality of material types include air, soft tissue, stool and fluid.
17. The method of claim 16, wherein the intersection regions include air-soft tissue, air-stool and air-fluid regions.
18. The method of claim 17, wherein upon detecting an air-soft tissue region, the intersection specific correction includes labeling at least a portion of the voxels of the ray as colon wall and labeling a portion of the voxels of the ray as mucosa.
19. The method of claim 18, wherein upon detecting an air-fluid region, the intersection specific correction includes labeling the voxels of the region as air voxels.
20. The method of claim 19, wherein upon detecting an air-soft tissue region, the intersection specific correction includes labeling at least a portion of the voxels of the ray as colon wall and labeling a portion of the voxels of the ray as mucous.
21. The method of claim 17, wherein upon detecting an air-stool region, the intersection specific correction includes reconstructing the voxels in the region by labeling at least a portion of the stool voxels as fluid voxels and labeling a portion of the voxels of the ray as mucosa.
22. A method for displaying a region of interest of a virtual object with an increased field of view comprising mapping the 3D voxel representation to a 2D display screen using an equal angular spaced projection.
23. A method for coordinating the display of a 3D image and one or more corresponding 2D images comprising:
displaying a 3D image of a region;
displaying a moveable slice marker on the 3D image; and
displaying a 2D image corresponding to the position and orientation of the slice marker.
24. A method for coordinating the display of a 3D image and one or more corresponding 2D images of claim 23 wherein the 2D image is one of a sagital, a coronal, an axial and a centerline-normal cross sectional image.
25. A method for coordinating the display of a 3D image and one or more corresponding 2D images of claim 23 wherein the slice marker is presented by adjusting the color of the voxels in the 3D image corresponding to the intersection of the corresponding 2D image.
26. A method for coordinating the display of a 3D image and one or more corresponding 2D images of claim 23 wherein the 2D image has an associated user interface for changing both the slice marker position and the current 2D image.
27. A method for coordinating the display of a 3D image and one or more corresponding 2D images of claim 23 wherein there are a plurality of selectable 2D images and a corresponding plurality of slice markers.
28. A method for coordinating the display of a 3D image and one or more corresponding 2D images of claim 27 wherein the plurality of 2D images are selected from the group including sagital, coronal, axial and centerline-normal cross sectional images.
29. A method for coordinating the display of a 3D image and one or more corresponding 2D images of claim 27 further comprising displaying a navigation marker in a displayed 2D image corresponding the current navigation position in the 3D image.

1461125183-59092553-3cf4-46b2-bb0f-9f3b4bcf07ed

1. A Multiply-Accumulate (MAC) processor machine comprising:
an input interface configured to receive a number N of data symbols, the number N of data symbols being a power of 2;
a number of multiply-accumulate (MAC) blocks, each MAC block configured to, in response to receiving a pair of data symbols, execute a butterfly algorithm to generate a corresponding pair of intermediate results by calculating complex products and sums using the received pair of data symbols and twiddle factors;
a memory configured to store the N received data symbols, the twiddle factors, and the intermediate results of the butterfly algorithm; and
a configurable instruction set digital signal processor core configured to:
select and read at least one pair of the N received data symbols to read from a location in the memory,
input each of the selected pair of the N received data symbols to the MAC blocks,
write, to the location, the intermediate results the MAC blocks generated using the selected at least one pair of the N received data symbols, and
output N binary symbols, each binary symbol corresponding to an order of the output and corresponding to a bit-reversal of a corresponding input from the selected pair of received data symbols.
2. The MAC processor machine as set forth in claim 1, wherein a subset of the MAC blocks are arranged in a sequence of processing stages, the sequence of stages comprising log(N) stages and N multiplications in each stage, and each subset of the MAC blocks comprising
log
2

\ue8a0

(
N
)
\xd7

N
2
MAC blocks per stage.
3. The MAC processor machine as set forth in claim 2, wherein the configurable instruction set digital signal processor core is further configured to:
input the N received data symbols to the subset of the MAC blocks of a first stage of the sequence of stages;
in response to generating N intermediate results from the first stage, inputting the N intermediate results from the first stage to the subset of MAC blocks of a second stage of the sequence of stages.
4. The MAC processor machine as set forth in claim 3, wherein the configurable instruction set digital signal processor core is further configured to determine that the first stage is an antepenultimate stage of the sequence of stages; and
wherein the MAC processor further comprises a hardware accelerator configured to receive intermediate results of the antepenultimate stage, perform a last two stages of the sequence of stages in parallel with performing a first two stages of the sequence of stages using a subsequent set of input data symbols,
wherein a penultimate stage of the sequence of stages is configured to output a complex complement of the intermediate results of the antepenultimate stage, and
wherein a last stage of the sequence of stages is configured to output a negative of the intermediate results of the penultimate stage.
5. The MAC processor machine as set forth in claim 4, wherein the output of the last stage is coupled to an output reorderer configured to perform a bit reversal of the results of the last stage.
6. The MAC processor machine as set forth in claim 1, wherein the configurable instruction set digital signal processor core comprises a very long instruction word (VLIW) configured to control switches independently to input each of the selected pair of the N received data symbols to the MAC blocks.
7. The MAC processor machine as set forth in claim 1, wherein the configurable instruction set digital signal processor core comprises a single instruction multiple data (SIMD) configured to control switches that are partly dependent upon a status of each other to input each selected pair of the N received data symbols to the MAC blocks.
8. The MAC processor as set forth in claim 1, wherein the memory comprises an array or rows and columns, the array comprising:
one column configured to store the N data symbols in ascending order;
a number of stage columns corresponding to a sequence of processing stages, each stage columns configured to store a set of twiddle factors for the corresponding processing stage; and
a number of memory blocks, each memory block comprising two consecutive rows of the array, wherein the number of memory blocks is
N
2

.
9. The MAC processor as set for in claim 1, wherein the configurable instruction set digital signal processor core is further configured to execute at least one of:
a Fast Fourier Transform (FFT) process,
a Finite Impulse Response (FIR) filter process,
an Infinite Impulse Response (IIR) filter process, and
a digital filter process.
10. A Fast Fourier Transform (FFT) context-based reconfigurable instruction set processor (CRISP) machine for performing a FFT process, the FFT CRISP machine comprising:
an input interface configured to receive a number N of data symbols, the number N of data symbols being a power of 2;
a number of multiply-accumulate (MAC) blocks, each MAC block configured, to in response to receiving a pair of data symbols, execute a butterfly algorithm to generate a corresponding pair of intermediate results by calculating complex products and sums using the received pair of data symbols and twiddle factors; and
a memory configured to store the N received data symbols, the twiddle factors, and the intermediate results of the butterfly algorithm; and
a configurable instruction set digital signal processor core configured to execute the FFT process by:
selecting and read at least one pair of the N received data symbols to read from a location in the memory,
inputting each of the selected pair of the N received data symbols to the MAC blocks,
writing, to the location, the intermediate results the MAC blocks generated using the selected at least one pair of the N received data symbols, and
outputting N binary symbols as a FFT of the received N data symbols, each binary symbol corresponding to an order of the output and corresponding to a bit-reversal of a corresponding input from the selected pair of received data symbols.
11. The FFT CRISP machine as set forth in claim 10, wherein a subset of the MAC blocks are arranged in a sequence of FFT computation stages, the sequence of FFT computation stages comprising log(N) stages and N multiplications in each stage, and each subset of the MAC blocks comprising
log
2

\ue8a0

(
N
)
\xd7

N
2
MAC blocks per stage.
12. The FFT CRISP machine as set forth in claim 11 wherein the configurable instruction set digital signal processor core is further configured to:
input the N received data symbols to the subset of the MAC blocks of a first stage of the sequence of FFT computation stages;
in response to generating N intermediate results from the first stage, inputting the N intermediate results from the first stage to the subset of MAC blocks of a second stage of the sequence of stages.
13. The FFT CRISP machine as set forth in claim 12, wherein the configurable instruction set digital signal processor core is further configured to determine that the first stage is an antepenultimate stage of the sequence of FFT computation stages; and
wherein the FFT CRISP further comprises a hardware accelerator configured to receive intermediate results of the antepenultimate stage, perform a last two stages of the sequence of FFT computation stages in parallel with performing a first two stages of the sequence of stages using a subsequent set of input data symbols,
wherein a penultimate stage of the sequence of stages is configured to output a complex complement of the intermediate results of the antepenultimate stage, and
wherein a last stage of the sequence of stages is configured to output a negative of the intermediate results of the penultimate stage.
14. The FFT CRISP machine as set forth in claim 13, wherein the output of the last stage is coupled to an output reorderer configured to perform a bit reversal of the results of the last stage.
15. The FFT CRISP machine as set forth in claim 10, wherein the configurable instruction set digital signal processor core comprises a very long instruction word (VLIW) configured to control switches independently to input each of the selected pair of the N received data symbols to the MAC blocks.
16. The FFT CRISP machine as set forth in claim 10, wherein the configurable instruction set digital signal processor core comprises a single instruction multiple data (SIMD) configured to control switches that are partly dependent upon a status of each other to input each selected pair of the N received data symbols to the MAC blocks.
17. The FFT CRISP as set forth in claim 10, wherein the memory comprises an array or rows and columns, the array comprising:
one column configured to store the N data symbols in ascending order;
a number of stage columns corresponding to a sequence of processing stages, each stage columns configured to store a set of twiddle factors for the corresponding processing stage; and
a number of memory blocks, each memory block comprising two consecutive rows of the array, wherein the number of memory blocks is
N
2

.
18. A method of computing a Fast Fourier Transform (FFT) of data symbols inputted to a FFT context-based reconfigurable instruction set processor (CRISP) machine, the method comprising:
receiving a number N of the data symbols into an input interface of the FFT CRISP machine, the number N being a power of 2;
in response to receiving a pair of data symbols by a number of multiply-accumulate (MAC) blocks, executing a butterfly algorithm to generate a corresponding pair of intermediate results by calculating complex products and sums using the received pair of data symbols and twiddle factors; and
storing the N received data symbols, the twiddle factors, and the intermediate results of the butterfly algorithm in a memory;
selecting and reading, by a configurable instruction set digital signal processor core, at least one pair of the N received data symbols to read from a location in the memory,
inputting each of the selected pair of the N received data symbols to the MAC blocks,
writing, to the location, the intermediate results the MAC blocks generated using the selected at least one pair of the N received data symbols, and
outputting N binary symbols, each binary symbol corresponding to an order of the output and corresponding to a bit-reversal of a corresponding input from the selected pair of received data symbols.
19. The method as set forth in claim 18, wherein a subset of the MAC blocks are arranged in a sequence of processing stages, the sequence of stages comprising log(N) stages and N multiplications in each stage, and each subset of the MAC blocks comprising
log
2

\ue8a0

(
N
)
\xd7

N
2
MAC blocks per stage.
20. The method as set forth in claim 19, further comprising:
inputting the N received data symbols to the subset of the MAC blocks of a first stage of the sequence of stages;
in response to generating N intermediate results from the first stage, inputting the N intermediate results from the first stage to the subset of MAC blocks of a second stage of the sequence of stages.
21. The method as set forth in claim 20, further comprising:
in response to determining that the first stage is an antepenultimate stage of the sequence of stages, receiving intermediate results of the antepenultimate stage by a hardware accelerator of the FFT CRISP;
performing, by the hardware accelerator, a last two stages of the sequence of stages in parallel with performing a first two stages of the sequence of stages using a subsequent set of input data symbols,
wherein a penultimate stage of the sequence of stages is configured to output a complex complement of the intermediate results of the antepenultimate stage, and
wherein a last stage of the sequence of stages is configured to output a negative of the intermediate results of the penultimate stage.
22. The method as set forth in claim 20, further comprising
performing, by an output reorderer coupled to receive the output of the last stage, a bit reversal of the results of the last stage.
23. The method as set forth in claim 18, further comprising providing a memory comprising an array or rows and columns, the array comprising:
one column configured to store the N data symbols in ascending order;
a number of stage columns corresponding to a sequence of processing stages, each stage columns configured to store a set of twiddle factors for the corresponding processing stage; and
a number of memory blocks, each memory block comprising two consecutive rows of the array, wherein the number of memory blocks is
N
2

.

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

What is claimed is:

1. A gas sampling system comprising:
a first gas pump that provides a first gas flow at a partial gas vacuum compared to ambient gas pressure;
a second gas pump that provides a second gas flow at a partial gas pressure compared to the ambient gas pressure;
a first orifice that provides said first gas flow;
a plurality of second orifices that provide a plurality of flow members of said second gas flow in a substantially rotational direction that is substantially concentric and both radially and axially external to said first orifice; and
a heater that heats at least one flow member of said second gas flow, wherein the gas sampling system provides the first gas flow for analysis within an ion mobility spectrometer.
2. A gas sampling system as in claim 1 wherein said partial gas vacuum is within 50 millimeters of mercury (50 Torr) of the ambient gas pressure.
3. A gas sampling system as in claim 1 wherein said partial gas pressure is within 50 atmospheres of the ambient gas pressure.
4. A gas sampling system as in claim 1, further comprising:
vanes that cause said second gas flow to flow in a substantially rotational direction.
5. A gas sampling system as in claim 1, further comprising:
a hollow member wherein an inside surface thereof causes said second gas flow to flow in a substantially rotational direction.
6. A gas sampling system, according to claim 5, wherein said heater is disposed within said hollow member.
7. A gas sampling system as in claim 1, wherein the said plurality of second orifices directs the said second gas flow in a substantially perpendicular direction with respect to the axis of the said first orifice.
8. A gas sampling system as in claim 7, further comprising:
a solid surface disposed with its normal axis substantially perpendicular to the axis of the said first orifice, wherein said second gas flow flows in a substantially rotational direction due to the deflection of the flow of at least one flow member by said solid surface.
9. A gas sampling system as in claim 7, wherein said second gas flow flows in a substantially rotational direction due to interaction between the flow members.
10. A gas sampling system as in claim 1, further comprising:
a rotating impeller that causes said second gas flow to flow in a substantially rotational direction.
11. A gas sampling system as in claim 1 wherein said rotational direction of all the flow members is mutually clockwise or mutually counter-clockwise relative to the axis of said first orifice.
12. A gas sampling system as in claim 1 wherein the heat for said heater is provided by at least one of electric current resistance or impedance, photon radiation, fluid compression, Peltier effect, and chemical flame or reaction.
13. A gas sampling system as in claim 1 wherein said heater uses waste heat generated by other components of said ion mobility spectrometer.
14. A gas sampling system as in claim 1 wherein said heater increases temperature of said second gas flow from said plurality of second orifices by at least 10 degrees Centigrade from ambient temperature.
15. A gas sampling system, according to claim 1, wherein said heater is a radiative heater.
16. A gas sampling system, according to claim 1, further comprising:
tubulation that couples said second gas pump with said second orifaces.
17. A gas sampling system, according to claim 16, wherein said heater is disposed outside said tubulation.
18. A gas sampling system, according to claim 16, wherein said heater is disposed inside said tubulation.
19. A gas sampling system, according to claim 16, wherein said heater is disposed in series with said tubulation.
20. A gas sampling system, according to claim 1, wherein said heater is disposed within said second orifices.
21. A gas sampling system comprising:
a first gas pump that provides a first gas flow at a partial gas vacuum compared to ambient gas pressure;
a second gas pump that provides a second gas flow at a partial gas pressure compared to the ambient gas pressure;
a first orifice that provides said first gas flow;
a plurality of second orifices that provide a plurality of flow members of said second gas flow in a substantially rotational direction that is substantially concentric and both radially and axially external to said first orifice; and at least one chemical addition into at least one flow member, wherein the gas sampling system provides the first gas flow for analysis within an ion mobility spectrometer.
22. A gas sampling system as in claim 21 wherein said partial gas vacuum is within 50 millimeters of mercury (50 Torr) of the ambient gas pressure.
23. A gas sampling system as in claim 21 wherein said partial gas pressure is within 50 atmospheres of the ambient gas pressure.
24. A gas sampling system as in claim 21, further comprising:
vanes that cause said second gas flow to flow in a substantially rotational direction.
25. A gas sampling system as in claim 21, further comprising:
a hollow member wherein an inside surface thereof cause said second gas flow to flow in a substantially rotational direction.
26. A gas sampling system as in claim 21, wherein the said plurality of second orifices directs the said second gas flow in a substantially perpendicular direction with respect to an axis of the said first orifice.
27. A gas sampling system as in claim 26, further comprising:
a solid surface disposed with its normal axis substantially perpendicular to the axis of the said first orifice, wherein said second gas flow flows in a substantially rotational direction due to the deflection of the flow of at least one flow member by said solid surface.
28. A gas sampling system as in claim 26, wherein said second gas flow flows in a substantially rotational direction due to interaction between the flow members.
29. A gas sampling system as in claim 21, further comprising:
a rotating impeller that causes said second gas flow to flow in a substantially rotational direction.
30. A gas sampling system as in claim 21 wherein said rotational direction of all the flow members is mutually clockwise or mutually counter-clockwise relative to the axis of said first orifice.
31. A gas sampling system as in claim 21 wherein said chemical addition is water in liquid or vapor form.
32. A gas sampling system as in claim 21 wherein said chemical addition is at least one of acetone, alcohol, ethylene glycol, and propylene glycol.