1. A process for preparing pyrrolealdimines, comprising the steps of:
a) reacting 2-formylpyrrole with a primary amine, RNH2, in an aqueous solution, wherein the temperature is about 5 to about 30\xb0 C., and R is C1 to C10 alkyl or substituted alkyl, or C6 to C12 aryl or substituted aryl;
b) adding a water-immiscible organic compound to form an aqueous phase and an organic phase; and
c) isolating the organic phase.
2. The process of claim 1 wherein the water-immiscible organic compound is selected from the group consisting of alkanes, chlorinated alkanes, cycloalkanes, and aromatic solvents.
3. The process of claim 2 wherein the water-immiscible compound is selected from the group consisting of pentane, hexanes, heptanes, chloroform, dichloromethane, carbon tetrachloride, cylcopentane, cyclohexane, benzene, and toluene.
4. The process of claim 1, wherein the temperature is from about 10\xb0 C. to about 25\xb0 C.
5. The process of claim 1, wherein in step (a) an aqueous solution of the primary amine, RNH2, is added to 2-formylpyrrole, and R is methyl or ethyl.
6. The process of claim 1, wherein in step (a) the primary amine is added to a mixture of 2-formylpyrrole in water, and R is propyl, isopropyl, butyl, isobutyl, or sec-butyl.
7. The process of claim 1, wherein in step (a), tert-butylamine is added to 2-formylpyrrole.
8. An aqueous process for preparing Cu(II) complexes of 2-pyrrole ligands comprising reacting an aqueous mixture of 2-formylpyrrole, a primary amine, R1NH2, and a source of Cu(II), wherein
R1 is selected from the group consisting of C1-C10 alkyl or substituted alkyl; C6 to C12 aryl or substituted aryl; allyl; benzyl; NHR3; and NR4R5; and
R3, R4, and R5 are independently selected from the group of C1-C6 alkyl or substituted alkyl, and C6 to C12 aryl or substituted aryl.
9. The process of claim 8, wherein the primary amine is selected from the group consisting of methylamine, ethylamine, propylamine, isopropylamine, n-butylamine, t-butylamine, isobutylamine, 2-ethylhexylamine, aniline, 3-trifluoromethylaniline, \u03b2-alanine isopropyl ester, \u03b2-alanine ethyl ester and benzylamine.
10. An aqueous process for preparing Cu(II) complexes of 2-pyrrole ligands comprising
a. reacting 2-formylpyrrole and a primary amine in water; and
b. adding a source of copper(II) and allowing the mixture to react to form the copper(II) complex.
11. The process of claim 10, wherein the source of copper(II) is selected from the group consisting of copper hydroxide, copper(II) chloride, copper nitrate, copper sulfate, copper(II) salts of carboxylic acids, and copper alkoxides.
12. An aqueous process for preparing Cu(II) complexes of a 2-acylpyrrole comprising the steps of
a. contacting an aqueous mixture of a source of Cu(II) with a 2-acylpyrrole,
where R8 is C1 to C10 alkyl; and
b. further reacting the aqueous mixture with a base.
13. The process of claim 12, wherein the 2-acylpyrrole is 2-acetylpyrrole.
14. A Cu(II) complex comprising:
a) a copper atom; and
b) two pyrrole ligands bound to said copper atom, wherein said pyrrole ligands are independently selected from the group consisting of 2-pyrroleald-n-propylimino, 2-pyrroleald-1-butyl-imino, 2-pyrroleald-n-butyl-imino, 2-pyrroleald-2-ethylhexyl-imino, 2-pyrroleald-m-trifluoromethylphenyl-imino, 2-pyrrolylald(2-isopropoxycarbonylethyl)imino, 2-pyrrolylald(2-ethoxycarbonylethyl)imino and 2-pyrroleald-benzyl-imino ligands.
15. A Cu(II) complex selected from the group consisting of bis(2-pyrrolylald-n-propylimino)copper(II), bis(2-pyrrolylald-n-butylimino)copper(II), bis(2-pyrrolylaldisobutylimino)copper(II), bis(2-pyrrolylald(2-ethylhexyl)imino)copper(II), bis(2-pyrrolylald(m-trifluoromethylphenyl)imino)copper(II), bis(2-pyrrolylaldbenzylimino)copper(II), bis(2-pyrrolylald(2-ethoxycarbonylethyl)imino)copper(II), bis(2-pyrrolylald(2-isopropoxycarbonylethyl)imino)copper(II), and bis(2-acetylpyrrolyl)copper(II).
16. A process for depositing copper on a substrate comprising:
a) adsorbing onto a substrate at least one Cu(II) complex of structure 1,
wherein:
X is O, and R8 is C1-C10 alkyl or substituted alkyl, or C6 to C12 aryl or substituted aryl; or
X is NR1 and R8 is H;
R1 is selected from the group consisting of C1-C10 alkyl or substituted alkyl; C6 to C12 aryl or substituted aryl; allyl; benzyl; NHR3; and NR4R5; and
R3, R4, and R5 are independently selected from the group of C1-C6 alkyl or substituted alkyl, and C6 to C12 aryl or substituted aryl; and
b) exposing said absorbed complex to a reducing agent to form copper metal.
17. The process of claim 16, wherein the Cu(II) complex is selected from the group consisting of bis(2-pyrrolealdmethylimino)copper(II), bis(2-pyrrolealdethylimino)copper(II), bis(2-pyrroleald-iso-propylimino)copper(II), bis(2-pyrroleald-t-butylimino)copper(II), bis(2-pyrrolealdphenylimino)copper(II), bis(2-pyrrolylald-n-propylimino)copper(II), bis(2-pyrrolylald-n-butylimino)copper(II), bis(2-pyrrolylaldisobutylimino)copper(II), bis(2-pyrrolylald(m-trifluoromethylphenyl)imino)copper(II), bis(2-pyrrolylaldbenzylimino)copper(II), and bis(2-acetylpyrrolyl)copper(II), and wherein the substrate is selected from the group consisting of glass, metals and ceramics, and silicon wafers coated with a barrier layer, and wherein the reducing agent is selected from the group consisting of ammonia, ammoniahydrogen mixtures, hydrazine, COhydrogen mixtures, 9-BBN, borane, dihydrobenzofuran, pyrazoline, diethylsilane, dimethylsilane, ethylsilane, phenylsilane, and silane.
18. A process for depositing copper on a substrate comprising heating a reducing agent and at least one Cu(II) complex of structure 1,
in the presence of a substrate, wherein:
X is O, and R8 is C1-C10 alkyl or substituted alkyl, or C6 to C12 aryl or substituted aryl; or
X is NR1 and R8 is H;
R1 is selected from the group consisting of C1-C10 alkyl or substituted alkyl; C6 to C12 aryl or substituted aryl; allyl; benzyl; NHR3; and NR4R5; and
R3, R4, and R5 are independently selected from C1-C6 alkyl or substituted alkyl, and C6 to C12 aryl or substituted aryl.
19. An article comprising a substrate with a Cu(II) complex of structure 1 adsorbed on the surface or in or on porosity in the substrate,
wherein:
X is O, and R8 is C1-C10 alkyl or substituted alkyl, or C6 to C12 aryl or substituted aryl; or
X is NR1 and R8 is H;
R1 is selected from the group consisting of C1-C10 alkyl or substituted alkyl; C6 to C12 aryl or substituted aryl; allyl; benzyl; NHR3; and NR4R5; and
R3, R4, and R5 are independently selected from C1-C6 alkyl or substituted alkyl, and C6 to C12 aryl or substituted aryl.
20. An article of claim 19, wherein the substrate is selected from the group consisting of glass, metals and ceramics, and silicon wafers coated with a barrier layer.
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 gaze direction estimation, comprising:
detecting at least one iris of an eye in an image;
estimating a 3D eyeball center and radius, a fovea position, and an iris center;
determining an estimated eye gaze directional vector between the fovea position and the iris center, based on at least the estimated 3D eyeball center and radius, fovea position, and iris center;
calibrating the estimated eye gaze directional vector with respect to a known condition, by directing the eye to look into at least one camera and toward at least one calibration point;
solving for ta using the following quartic equations:
Sta4+Tta3+Uta2+Vta+W=0,
S=Y2,
T=\u22122TZ\u22122(A*B)XY,
U=Z2+2(A*B)XY\u2212r2y2+x2,
V2r2YZ,
W=\u2212r2Z2,
X=(A\xd7B\xd7A)*P,
Y=(A\xd7B\xd7A)*B,
Z=(A\xd7B\xd7P)*B;
wherein:
r is a 3D eyeball radius,
E is an estimate for the 3D eyeball center,
E\u2032 is an estimate for the 3D iris center,
P is a calibration point having a known 3D location,
m1 and m2 are iris centers represented in the image,
A and B are normalized vectors between m1 and m2 and the camera,
ta and tb represent lengths such that Ata=E and Btb=E\u2032,
wherein \u2225Ata\u2212Btb\u2225=r and point E\u2032 (or Btb) is a point of intersection between C=Ata\u2212P and B, equivalent to a point of intersection between B and a plane determined by point P and normal N=(A\xd7B\xd7C), such that
t
b
=
N
\xb7
P
N
\xb7
B
;
scaling A by ta and obtaining a 3D eyeball center estimate E for a given eyeball radius r; and
estimating r based on a statistical calibration process.
2. The method according to claim 1, wherein a pair of eyes are detected in the image, and an eye gaze directional vector determined for each eye, further comprising determining at least one of a statistical composite of the eye gaze directional vector for each eye, and a selected eye gaze directional vector for one eye, to represent the gaze direction.
3. The method according to claim 1, further comprising determining an iris center V, a set of iris contour vectors Ci, and determining an optical axis G such that it is parallel to V and the dot product of G and each Ci is aveDot, using the following linear equations:
C
0
X
C
0
Y
C
0
Z
\u2026
\u2026
\u2026
C
N
X
C
N
Y
C
N
Z
V
X
V
Y
V
Z
\u2026
\u2026
\u2026
V
X
V
Y
V
Z
\u2061
G
X
G
Y
G
Z
=
aveDot
\u2026
aveDot
1
\u2026
1
in which aveDot, V, and the constant 1 are repeated in their respective matrices N times for N contour vectors Ci.
4. The method according to claim 1, further comprising detecting a face, and based on the detected face, detecting an eye of the face.
5. The method according to claim 4, further comprising employing a lighting invariant linear-time process and selecting a set of Haar-like features.
6. The method according to claim 5, wherein the Haar-like features are selected using an adaptive boosting process.
7. The method according to claim 4, further comprising terrain mapping the detected face, extracting pit locations as pupil candidates, and selecting an eye pair using a Gaussian Mixture Model (GMM) and facial model-based heuristics.
8. The method according to claim 1, wherein a color filtered channel of an image is selectively processed to detect the iris.
9. The method according to claim 1, wherein the image is searched for specular reflections off the eye.
10. The method according to claim 1, further comprising iteratively seeking the best estimate of eyeball center E and the fovea location, using a binary search process within a range about the initial estimate of E.
11. The method according to claim 1, further comprising:
defining a search region around the estimated iris position, and blurring a grayscale image;
extracting gradient magnitudes and directions from the blurred image;
given a normalized 2D vector H that goes from the iris center estimate to the 2D eyeball center, shooting rays R, outwards around H;
for all pixels (within search region) along each ray, computing scorei,j=mi,j*(dot(H, Di,j)>0.5), where i is a ray index, j is a pixel index, mi,j is a gradient magnitude, and Di,j is a normalized gradient direction vector from dark to light pixels;
choosing a highest scoring pixel along each ray as a potential iris contour point;
removing duplicate points caused by overlapping rays;
mapping 2D iris contour points to an eyeball sphere by converting them into 3D perspective vectors and intersecting them with the estimated eyeball sphere, wherein a normalized vector going from the eyeball center to one of those intersection points is an iris contour vector Ci;
computing an average dot product between an eye optical axis and each Ci to estimate a 3D iris radius;
approximating an optical gaze vector by intersecting the 2D iris center with the eyeball sphere, subtracting the eyeball center, and normalizing the result, to provide vector V;
obtaining an average of the dot products (aveDot) between V and each Ci, to define the iris disk;
solving the following linear equations:
C
0
X
C
0
Y
C
0
Z
\u2026
\u2026
\u2026
C
N
X
C
N
Y
C
N
Z
V
X
V
Y
V
Z
\u2026
\u2026
\u2026
V
X
V
Y
V
Z
\u2061
G
X
G
Y
G
Z
=
aveDot
\u2026
aveDot
1
\u2026
1
;
determining the visual axis by rotating the fovea location offset based on an optical axis G, intersecting the optical axis with the eyeball sphere to get a new estimate for the 3D iris center; and
determining a normalized vector taken from the fovea location to the new estimate of the iris center as the gaze direction.
12. The method according to claim 1, further comprising mapping the eye gaze directional vector to a display coordinate of a display device.
13. An apparatus for determining an eye gaze direction, comprising:
a camera, a display screen; and
an automated processor, configured to:
detect at least one iris of an eye in an image from the camera, to estimate a 3D eyeball center and radius, a fovea position, and an iris center;
estimate an eye gaze directional vector between the fovea position and the iris center;
calibrate the eye gaze directional vector estimate of the eye by acquiring at least one image each of the eye directed looking into at least one camera and of the eye directed looking toward at least one calibration point;
solve for ta using the following quartic equations:
Sta4+Tta3+Uta2+Vta+W=0,
S=Y2,
T=\u22122TZ\u22122(A*B)XY,
U=Z2+2(A*B)XY\u2212r2y2+x2,
V=2r2YZ,
W=\u2212r2Z2,
X=(A\xd7B\xd7A)*P,
Y=(A\xd7B\xd7A)*B,
Z=(A\xd7B\xd7P)*B;
wherein:
r is a 3D eyeball radius,
E is an estimate for the 3D eyeball center,
E\u2032 is an estimate for the 3D iris center,
P is a calibration point having a known 3D location,
m1 and m2 are iris centers represented in the image,
A and B are normalized vectors between m1 and m2 and the camera,
ta and tb represent lengths such that Ata=E and Btb=E\u2032,
wherein \u2225Ata\u2212Btb\u2225=r and point E\u2032 (or Btb) is a point of intersection between C=Ata\u2212P and B, equivalent to a point of intersection between B and a plane determined by point P and normal N=(A\xd7B\xd7C), such that
t
b
=
N
\xb7
P
N
\xb7
B
;
scale A by ta and obtaining a 3D eyeball center estimate E for a given eyeball radius r; and
estimate r based on a statistical calibration process.
14. The apparatus according to claim 13, wherein the automated processor is configured to detect a pair of eyes in the image, determine an eye gaze directional vector for each eye, and determine at least one of a statistical composite of the eye gaze directional vector for each eye and a selected eye gaze directional vector for one eye to represent the eye gaze direction.
15. The apparatus according to claim 13, wherein the automated processor is configured to determine an iris center V, a set of iris contour vectors Ci, and to determine an optical axis G such that it is parallel to V and the dot product of G and each Ci is aveDot, using the following linear equations:
C
0
X
C
0
Y
C
0
Z
\u2026
\u2026
\u2026
C
N
X
C
N
Y
C
N
Z
V
X
V
Y
V
Z
\u2026
\u2026
\u2026
V
X
V
Y
V
Z
\u2061
G
X
G
Y
G
Z
=
aveDot
\u2026
aveDot
1
\u2026
1
in which aveDot, V, and the constant 1 are repeated in their respective matrices N times for N contour vectors Ci.
16. The apparatus according to claim 15, wherein the automated processor is further configured to detect a face, and based on the detected face, to detect an eye of the face.
17. The apparatus according to claim 16, wherein the automated processor is further configured to employ a lighting invariant linear-time process and to select a set of Haar-like features.
18. The apparatus according to claim 17, wherein the automated processor is further configured to select the Haar-like features using an adaptive boosting process.
19. The apparatus according to claim 16, wherein the automated processor is further configured to terrain map the detected face, extract pit locations as pupil candidates, and select an eye pair using a Gaussian Mixture Model (GMM) and facial model-based heuristics.
20. The apparatus according to claim 13, wherein the automated processor is further configured to selectively process a color filtered channel of an image to detect the iris.
21. The apparatus according to claim 13, wherein the automated processor is further configured to search the image for specular reflections off the eye.
22. The apparatus according to claim 13, wherein the automated processor is further configured to iteratively seek the best estimate of eyeball center E and the fovea location, using a binary search process within a range about the initial estimate of E.
23. The apparatus according to claim 13, wherein the automated processor is further configured to:
define a search region around the estimated iris position, and blurring a grayscale image;
extract gradient magnitudes and directions from the blurred image;
given a normalized 2D vector H that goes from the iris center estimate to the 2D eyeball center, shoot rays Ri outwards around H;
for all pixels (within search region) along each ray, compute scorei,j=mi,j*(dot(H,Di,j)>0.5), where i is a ray index, j is a pixel index, mi,j is a gradient magnitude, and Di,j is a normalized gradient direction vector from dark to light pixels;
choose a highest scoring pixel along each ray as a potential iris contour point;
remove duplicate points caused by overlapping rays;
map 2D iris contour points to an eyeball sphere by converting them into 3D perspective vectors and intersecting them with the estimated eyeball sphere, wherein a normalized vector going from the eyeball center to one of those intersection points is an iris contour vector Ci;
compute an average dot product between an eye optical axis and each Ci to estimate a 3D iris radius;
approximate an optical gaze vector by intersecting the 2D iris center with the eyeball sphere, subtracting the eyeball center, and normalizing the result, to provide vector V;
obtain an average of the dot products (aveDot) between V and each Ci, to define the iris disk;
solve the following linear equations:
C
0
X
C
0
Y
C
0
Z
\u2026
\u2026
\u2026
C
N
X
C
N
Y
C
N
Z
V
X
V
Y
V
Z
\u2026
\u2026
\u2026
V
X
V
Y
V
Z
\u2061
G
X
G
Y
G
Z
=
aveDot
\u2026
aveDot
1
\u2026
1
;
determine the visual axis by rotating the fovea location offset based on an optical axis G, intersecting the optical axis with the eyeball sphere to get a new estimate for the 3D iris center; and
determine a normalized vector taken from the fovea location to the new estimate of the iris center as the gaze direction.
24. The apparatus according to claim 13, wherein the automated processor is further configured to map the eye gaze directional vector to a display coordinate of a display device.
25. The apparatus according to claim 24, wherein the automated processor is further configured to define a cursor location associated with the display coordinate.
26. A method for gaze direction estimation, comprising:
detecting at least one iris of an eye in an image;
estimating a 3D eyeball center and radius, a fovea position, and an iris center;
determining an estimated eye gaze directional vector between the fovea position and the iris center, based on at least the estimated 3D eyeball center and radius, the estimated fovea position, and the estimated iris center,
wherein the 3D eyeball center and radius, the fovea position, and the iris center upon which the estimated eye gaze directional vector is based are calibrated by imaging the eye while directing the eye to look into at least one camera and toward at least one calibration point;
solving for ta using the following quartic equations:
Sta4+Tta3+Uta2+Vta+W=0,
S=Y2,
T=\u22122TZ\u22122(A*B)XY,
U=Z2+2(A*B)XY\u2212r2y+x2,
V=2r2YZ,
W=\u2212r2Z2,
X=(A\xd7B\xd7A)*P,
Y=(A\xd7B\xd7A)*B,
Z=(A\xd7B\xd7P)*B;
wherein:
r is a 3D eyeball radius,
E is an estimate for the 3D eyeball center,
E\u2032 is an estimate for the 3D iris center,
P is a calibration point having a known 3D location,
m1 and m2 are iris centers represented in the image,
A and B are normalized vectors between m1 and m2 and the camera,
ta and tb represent lengths such that Ata=E and Btb=E\u2032,
wherein \u2225Ata\u2212Btb\u2225=r and point E\u2032 (or Btb) is a point of intersection between C=Ata\u2212P and B, equivalent to a point of intersection between B and a plane determined by point P and normal N=(A\xd7B\xd7C), such that
t
b
=
N
\xb7
P
N
\xb7
B
;
scaling A by ta and obtaining a 3D eyeball center estimate E for a given eyeball radius r; and
estimating r based on a statistical calibration process.
27. The method according to claim 26, wherein a pair of eyes are detected in the image, and an eye gaze directional vector determined for each eye, further comprising determining at least one of a statistical composite of the eye gaze directional vector for each eye, and a selected eye gaze directional vector for one eye, to represent the gaze direction.
28. The method according to claim 26, further comprising determining an iris center V, a set of iris contour vectors Ci,and determining an optical axis G such that it is parallel to V and the dot product of G and each Ci is aveDot, using the following linear equations:
C
0
X
C
0
Y
C
0
Z
\u2026
\u2026
\u2026
C
N
X
C
N
Y
C
N
Z
V
X
V
Y
V
Z
\u2026
\u2026
\u2026
V
X
V
Y
V
Z
\u2061
G
X
G
Y
G
Z
=
aveDot
\u2026
aveDot
1
\u2026
1
in which aveDot, V, and the constant 1 are repeated in their respective matrices N times for N contour vectors Ci.
29. The method according to claim 26, further comprising detecting a face, and based on the detected face, detecting an eye of the face by employing a lighting invariant linear-time process and selecting a set of Haar-like features using an adaptive boosting process.