1460717397-7655e30d-0ee3-4aa6-906f-4212a3572e44

1. A method for labeling a medical image with a three-dimensional pictogram, the method comprising:
(a) displaying a medical image;
(b) displaying a three-dimensional pictogram representing anatomy shown in the medical image;
(c) displaying a marker near but not through the three-dimensional pictogram, the marker representing a medical instrument used to create the medical image; and
(d) adjusting an orientation of the marker relative to the orientation of the three-dimensional pictogram in accordance with an manual adjustment received from a user via a user interface.
2. The method of claim 1, wherein the marker is manipulatable with three rotation degrees of freedom around the three-dimensional pictogram.
3. The method of claim 1 further comprising rotating the three-dimensional pictogram.
4. The method of claim 3, wherein the three-dimensional pictogram is rotatable with three degrees of freedom.
5. The method of claim 1 further comprising, before (b), displaying a set of three-dimensional pictograms for user selection.
6. The method of claim 5, wherein the set of three-dimensional pictograms is determined based on study type.
7. The method of claim 1 further comprising:
(e) hiding the three-dimensional pictogram and marker.
8. A method for labeling a medical image with a three-dimensional pictogram, the method comprising:
(a) displaying a set of three-dimensional pictograms of anatomy;
(b) receiving a user selection of a three-dimensional pictogram from the displayed set;
(c) displaying a medical image;
(d) displaying the selected three-dimensional pictogram near the medical image; and
(e) rotating the three-dimensional pictogram independent of the displayed medical image in accordance with a manual adjustment received from a user via a user interface.
9. The method of claim 8, wherein the set of three-dimensional pictograms is determined based on study type.
10. The method of claim 8, wherein the selected three-dimensional pictogram is rotatable with three degrees of freedom.
11. The method of claim 8 further comprising:
(f) displaying a marker near the selected three-dimensional pictogram, the marker representing a medical instrument used to create the medical image.
12. The method of claim 11 further comprising:
(g) adjusting an orientation of the marker.
13. The method of claim 8 further comprising:
(f) hiding the selected three-dimensional pictogram.
14. A method for labeling a medical image with a three-dimensional pictogram, the method comprising:
(a) displaying a medical image;
(b) displaying a three-dimensional pictogram representing anatomy shown in the medical image;
(c) rotating the three-dimensional pictogram to a first orientation;
(d) saving the medical image and three-dimensional pictogram;
(e) retrieving the saved medical image and three-dimensional pictogram; and
(f) rotating the three-dimensional pictogram, the rotation starting from the first orientation independent of the displayed medical image in accordance with a manual adjustment received from a user via a user interface.
15. The method of claim 14 further comprising, before (f), creating a copy of the saved medical image and three-dimensional pictogram, and wherein (f) comprises rotating the three-dimensional pictogram on the copy.
16. The method of claim 14 further comprising providing the saved medical image and three-dimensional pictogram to a workstation, and wherein (f) is performed on the workstation.
17. The method of claim 16, wherein the saved medical image and three-dimensional pictogram are provided to the workstation via a network.
18. The method of claim 16, wherein the saved medical image and three-dimensional pictogram are provided to the workstation via a removable media device.
19. The method of claim 16 further comprising, before (d), displaying a marker near the three-dimensional pictogram and adjusting an orientation of the marker to a second orientation, the marker representing a medical instrument used to create the medical image, wherein the marker is saved with the medical image and three-dimensional pictogram, and wherein the method further comprises retrieving the saved marker with the saved medical image and three-dimensional pictogram and adjusting the marker, the adjustment starting from the second orientation.
20. A method for labeling a medical image with a three-dimensional pictogram, the method comprising:
(a) displaying a three-dimensional medical image;
(b) displaying a graphically-rendered three-dimensional pictogram representing anatomy shown in the three-dimensional medical image;
(c) receiving from a user a slicing plane through the three-dimensional medical image;
(d) displaying a medical image in accordance with the user-selected slicing plane; and
(e) displaying a portion of the three-dimensional pictogram as a wire frame instead of a graphically-rendered representation of the anatomy, wherein the remaining portion of the three-dimensional pictogram is still displayed as a graphically rendered representation of the anatomy and not as a wire frame the wire frame portion corresponding to a sliced-off portion of the three-dimensional medical image.
21. The method of claim 20 further comprising, before (a), displaying a set of three-dimensional pictograms for user selection.
22. The method of claim 21, wherein the set of three-dimensional pictograms is determined based on study type.
23. A system for labeling a medical image with a three-dimensional pictogram, the system comprising computer-usable media storing:
computer-readable program code for displaying a medical image;
computer-readable program code for displaying a three-dimensional pictogram representing anatomy shown in the medical image;
computer-readable program code for displaying a marker near but not through the three-dimensional pictogram, the marker representing a medical instrument used to create the medical image; and
computer-readable program code for adjusting an orientation of the marker relative to the orientation of the three-dimensional pictogram in accordance with a manual adjustment received from a user via a user interface.
24. The system of claim 23, wherein the marker is manipulatable with three rotation degrees of freedom around the three-dimensional pictogram.
25. The system of claim 23 further comprising computer-readable program code for rotating the three-dimensional pictogram.
26. The method of claim 25, wherein the three-dimensional pictogram is rotatable with three degrees of freedom.
27. A system for labeling a medical image with a three-dimensional pictogram, the system comprising computer-usable media storing:
computer-readable program code for displaying a set of three-dimensional pictograms of anatomy;
computer-readable program code for receiving a user selection of a three-dimensional pictogram from the displayed set;
computer-readable program code for displaying a medical image;
computer-readable program code for displaying the selected three-dimensional pictogram near the medical image; and
computer-readable program code for rotating the three-dimensional pictogram independent of the displayed medical image in accordance with a manual adjustment received from a user via a user interface.
28. The system of claim 27, wherein the set of three-dimensional pictograms is determined based on study type.
29. The method of claim 27, wherein the selected three-dimensional pictogram is rotatable with three degrees of freedom.
30. A system for labeling a medical image with a three-dimensional pictogram, the system comprising computer-usable media storing:
computer-readable program code for displaying a medical image;
computer-readable program code for displaying a three-dimensional pictogram representing anatomy shown in the medical image;
computer-readable program code for rotating the three-dimensional pictogram to a first orientation;
computer-readable program code for saving the medical image and three-dimensional pictogram;
computer-readable program code for retrieving the saved medical image and three-dimensional pictogram; and
computer-readable program code for rotating the three-dimensional pictogram, the rotation starting from the first orientation independent of the displayed medical image in accordance with a manual adjustment received from a user via a user interface.
31. The system of claim 30 further comprising computer-readable program code for creating a copy of the saved medical image and three-dimensional pictogram, wherein the three-dimensional pictogram is rotated on the copy.
32. The system of claim 30, wherein the computer-readable program code for rotating the three-dimensional pictogram from the first orientation is stored on a workstation.
33. The system of claim 30, wherein the computer-readable program code for rotating the three-dimensional pictogram from the first orientation is stored on a medical diagnostic imaging system.
34. A system for labeling a medical image with a three-dimensional pictogram, the system comprising computer-usable media storing:
computer-readable program code for displaying a three-dimensional medical image;
computer-readable program code for displaying a graphically-rendered three-dimensional pictogram representing anatomy shown in the three-dimensional medical image;
computer-readable program code for receiving from a user a slicing plane through the three-dimensional medical image;
computer-readable program code for displaying a medical image in accordance with the user-selected slicing plane; and
computer-readable program code for displaying a portion of the three-dimensional pictogram as a wire frame instead of a graphically-rendered representation of the anatomy, the wire frame portion corresponding to a sliced-off portion of the three-dimensional medical image, wherein the remaining portion of the tree-dimensional pictogram is still displayed as a graphically rendered representation of the anatomy and not as a wire frame.
35. The system of claim 34 further comprising computer-readable program code for displaying a set of three-dimensional pictograms for user selection.
36. The system of claim 35, wherein the set of three-dimensional pictograms is determined based on study type.

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 of executing a query, the query comprising a non-single table predicate that references a first database object and a second database object, the method comprising:
transforming said query into a transformed query that includes a new predicate, said new predicate corresponding to said non-single table predicate, said new predicate comprising a subquery that is not in said query;
determining a result set for said subquery;
evaluating said result set to identify a first set of partitions relevant to said query; and
pruning a second set of partitions not relevant to said query.
2. The method of claim 1 in which said first database object comprises a first table and said second database object comprises a second table.
3. The method of claim 2 in which said subquery comprises a single table predicate upon a partitioning column of said first table.
4. The method of claim 2 in which said subquery is composed based upon a join predicate in said query between said first table and said second table.
5. The method of claim 2 in which said subquery is directed to a partitioning column of said first table.
6. The method of claim 5 in which a second subquery is added to said query, said second subquery directed to a second partitioning column of said first table, said second subquery associated with a second result set.
7. The method of claim 6 further comprising:
evaluating said result set against said second result set to determine said first set of partitions.
8. The method of claim 7 in which evaluating said result set against said second result set comprises the action of calculating a Cartesian product of the result sets.
9. The method of claim 2 in which said first table is a fact table and said second table is a dimension table associated with said fact table.
10. The method of claim 9 in which said transformed query is substantially constrained such that:
fact\u2014table.f\u2014column1=ANY (SELECT dimension1.p\u2014column from dimension1 WHERE dimension1.column OPERATOR Value1)

where fact\u2014table refers to said fact table, f\u2014column1 refers to a foreign keycolumn in said fact table, dimension1 refers to said dimension table, p\u2014column refers to a primary keycolumn in said dimension table, column refers to a column in said dimension table, and Value1 refers to a constraint value against said column.
11. The method of claim 9 in which said transformed query is substantially constrained such that:
fact\u2014table.f\u2014column1 IN (SELECT dimension1.p\u2014column from dimension1 WHERE dimension1.column OPERATOR Value1)

where fact\u2014table refers to said fact table, f\u2014column1 refers to a foreign keycolumn in said fact table, dimension1 refers to said dimension table, p\u2014column refers to a primary keycolumn in said dimension table, column refers to a column in said dimension table, and Value1 refers to constraint value against said column.
12. The method of claim 9 in which said first table is partitioned based upon a foreign key joined with a primary key of a second dimension table.
13. The method of claim 12 in which said transformed query is substantially constrained such that:
fact\u2014table.foreign column=ANY (SELECT dimension\u2014level\u20141.primary column FROM dimension\u2014level 1, dimension\u2014level\u20142 WHERE dimension\u2014level\u20142.primary column AND dimension\u2014level\u20142.column OPERATOR Value)

where Fact\u2014table refers to said Fact table, dimension\u2014level\u20141 refers to said dimension table and dimension\u2014level\u20142 refers to said second dimension table.
14. The method of claim 1 in which said first database object comprises a partitioned index.
15. The method of claim 1 in which a cost-benefit analysis is performed to determine a number of subqueries added to said query.
16. The method of claim 15 in which said cost-benefit analysis is performed to determine when to stop generating subquery predicates on partitioning columns.
17. The method of claim 16 in which multiple predicates may be generated for a same column, wherein one of said multiple predicates is chosen based upon having lower relative cost or higher relative benefit.
18. The method of claim 1 in which said action of evaluating said result set to identify said first set of partitions relevant to said query is performed by mapping said result set to said partition definitions.
19. The method said claim 1 in which said query references a plurality of levels of dimension tables.
20. The method of claim 1 in which said first and second sets of partitions are based upon composite partitioning, wherein said act of transforming said query is performed for each partitioning dimension for said first and second sets of partitions.
21. A computer program product that includes a medium usable by a processor, the medium having stored thereon a sequence of instructions which, when executed by said processor, causes said processor to execute a process for executing a query, the query comprising a non-single table predicate that references a first database object and a second database object, said process comprising:
transforming said query into a transformed query that includes a new predicate, said new predicate corresponding to said non-single table predicate, said new predicate comprising a subquery that is not in said query;
determining a result set for said subquery;
evaluating said result set to identify a first set of partitions relevant to said query; and
pruning a second set of partitions not relevant to said query.
22. The computer program product of claim 21 in which said first database object comprises a first table and said second database object comprises a second table.
23. The computer program product of claim 22 in which said subquery comprises a single table predicate upon a partitioning column of said first table.
24. The computer program product of claim 22 in which said subquery is composed based upon a join predicate in said query between said first table and said second table.
25. The computer program product of claim 22 in which said subquery is directed to a partitioning column of said first table.
26. The computer program product method of claim 25 in which a second subquery is added to said query, said second subquery directed to a second partitioning column of said first table, said second subquery associated with a second result set.
27. The computer program product method of claim 26 further comprising:
evaluating said result set against said second result set to determine said first set of partitions.
28. The computer program product of claim 27 in which evaluating said result set against said second result set comprises the action of calculating a Cartesian product of the result sets.
29. The computer program product of claim 22 in which said first table is a fact table and said second table is a dimension table associated with said fact table.
30. The computer program product of claim 29 in which said transformed query is substantially constrained such that:
fact\u2014table.f\u2014column1=ANY (SELECT dimension1.p\u2014column from dimension1 WHERE dimension1.column OPERATOR Value1)

where fact\u2014table refers to said fact table, f\u2014column1 refers to a foreign keycolumn in said fact table, dimension1 refers to said dimension table, p\u2014column refers to a primary keycolumn in said dimension table, column refers to a column in said dimension table, and Value1 refers to a constraint value against said column.
31. The computer program product of claim 29 in which said transformed query is substantially constrained such that:
fact\u2014table.f\u2014column1 IN (SELECT dimension1.p\u2014column from dimension1 WHERE dimension1.column OPERATOR Value1)

where fact\u2014table refers to said fact table, f\u2014column1 refers to a foreign keycolumn in said fact table, dimension1 refers to said dimension table, p\u2014column refers to a primary keycolumn in said dimension table, column refers to a column in said dimension table, and Value1 refers to constraint value against said column.
32. The computer program product of claim 29 in which said first table is partitioned based upon a foreign key joined with a primary key of a second dimension table.
33. The computer program product of claim 29 in which said transformed query is substantially constrained such that:
fact\u2014table.foreign column=ANY (SELECT dimension\u2014level\u20141.primary column FROM dimension\u2014level\u20141, dimension\u2014level\u20142 WHERE dimension\u2014level\u20142.primary column AND dimension\u2014level\u20142.column OPERATOR Value)

where Fact\u2014table refers to said Fact table, dimension\u2014level\u20141 refers to said dimension table and dimension\u2014level\u20142 refers to said second dimension table.
34. The computer program product of claim 21 in which said first database object comprises a partitioned index.
35. The computer program product of claim 21 in which a cost-benefit analysis is performed to determine the number of subqueries are added to said query.
36. The computer program product of claim 35 in which said cost\u2014benefit analysis is performed to determine when to stop generating subquery predicates on partitioning columns.
37. The computer program product of claim 36 in which multiple predicates may be generated for a same column, wherein one of said multiple predicates is chosen based upon having lower relative cost or higher relative benefit.
38. The computer program product of claim 21 in which said action of evaluating said result set to identify said first set of partitions relevant to said query is performed by mapping said result set to said partition definitions.
39. The computer program product of claim 38 in which said query references a plurality of hierarchical levels of dimension tables.
40. The computer program product of claim 21 in which said first and second sets of partitions are based upon composite partitioning, wherein said act of transforming said query is performed for each partitioning dimension for said first and second sets of partitions.
41. A system for executing a query, the query comprising a non-single table predicate that references a first database object and a second database object, the method comprising:
means for transforming said query into a transformed query that includes a new predicate, said new predicate corresponding to said non-single table predicate, said new predicate comprising a subquery that is not in said query;
means for determining a result set for said subquery;
means for evaluating said result set to identify a first set of partitions relevant to said query; and
means for pruning a second set of partitions not relevant to said query.
42. The system of claim 41 in which said first database object comprises a first table and said second database object comprises a second table.
43. The system of claim 42 in which said subquery comprises a single table predicate upon a partitioning column of said first table.
44. The system of claim 42 in which said subquery is composed based upon a join predicate in said query between said first table and said second table.
45. The system of claim 42 in which said subquery is directed to a partitioning column of said first table.
46. The system of claim 45 in which a second subquery is added to said query, said second subquery directed to a second partitioning column of said first table, said second subquery associated with a second result set.
47. The system of claim 46 further comprising:
means for evaluating said result set against said second result set to determine said first set of partitions.
48. The system of claim 47 in which evaluating said result set against said second result set comprises the action of calculating a Cartesian product of the result sets.
49. The system of claim 42 in which said first table is a fact table and said second table is a dimension table associated with said fact table.
50. The system of claim 49 in which said transformed query is substantially constrained such that:
fact\u2014table.f\u2014column1=ANY (SELECT dimension1.p\u2014column from dimension1 WHERE dimension1.column OPERATOR Value1)

where fact\u2014table refers to said fact table, f\u2014column1 refers to a foreign keycolumn in said fact table, dimension1 refers to said dimension table, p\u2014column refers to a primary keycolumn in said dimension table, column refers to a column in said dimension table, and Value1 refers to a constraint value against said column.
51. The system of claim 49 in which said transformed query is substantially constrained such that:
fact\u2014table.f\u2014column1 IN (SELECT dimension1.p\u2014column from dimension1 WHERE dimension1.column OPERATOR Value1)

where fact\u2014table refers to said fact table, f\u2014column1 refers to a foreign keycolumn in said fact table, dimension1 refers to said dimension table, p\u2014column refers to a primary keycolumn in said dimension table, column refers to a column in said dimension table, and Value1 refers to constraint value against said column.
52. The system of claim 49 in which said first table is partitioned based upon a foreign key joined with a primary key of a second dimension table.
53. The system of claim 52 in which said transformed query is substantially constrained such that:
fact\u2014table.foreign column=ANY (SELECT dimension\u2014level\u20141.primary column FROM dimension\u2014level\u20141, dimension\u2014level\u20142 WHERE dimension\u2014level\u20142.primary column AND dimension\u2014level\u20142.column OPERATOR Value)

where Fact\u2014table refers to said Fact table, dimension\u2014level\u20141 refers to said dimension table and dimension\u2014level\u20142 refers to said second dimension table.
54. The system of claim 41 in which said first database object comprises a partitioned index.
55. The system of claim 41 in which a cost-benefit analysis is performed to determine a number of subqueries added to said query.
56. The system of claim 55 in which said cost-benefit analysis is performed to determine when to stop generating subquery predicates on partitioning columns.
57. The system of claim 56 in which multiple predicates may be generated for a same column, wherein one of said multiple predicates is chosen based upon having lower relative cost or higher relative benefit.
58. The system of claim 41 in which said action of evaluating said result set to identify said first set of partitions relevant to said query is performed by mapping said result set to said partition definitions.
59. The system said claim 41 in which said query references a plurality of levels of dimension tables.
60. The system of claim 41 in which said first and second sets of partitions are based upon composite partitioning, wherein said act of transforming said query is performed for each partitioning dimension for said first and second sets of partitions.