Document And Entity Information
Document And Entity Information - shares | 6 Months Ended | |
Jun. 30, 2020 | Jul. 31, 2020 | |
Document And Entity Information [Abstract] | ||
Document Type | 10-Q | |
Amendment Flag | false | |
Document Period End Date | Jun. 30, 2020 | |
Document Fiscal Period Focus | Q2 | |
Document Fiscal Year Focus | 2020 | |
Entity Registrant Name | CYBEROPTICS CORP | |
Entity Central Index Key | 0000768411 | |
Current Fiscal Year End Date | --12-31 | |
Entity Filer Category | Non-accelerated Filer | |
Entity Common Stock, Shares Outstanding | 7,252,984 | |
Entity Small Business | true | |
Entity Emerging Growth Company | false | |
Entity Current Reporting Status | Yes | |
Entity Shell Company | false | |
Entity File Number | 0-16577 | |
Entity Address, Address Line One | 5900 Golden Hills Drive | |
Entity Address, City or Town | MINNEAPOLIS | |
Entity Address, State or Province | MN | |
Entity Address, Postal Zip Code | 55416 | |
Entity Tax Identification Number | 41-1472057 | |
City Area Code | (763) | |
Local Phone Number | 542-5000 | |
Title of 12(b) Security | Common Stock, no par value | |
Trading Symbol | CYBE | |
Security Exchange Name | NASDAQ | |
Document Transition Report | false | |
Document Quarterly Report | true | |
Entity Incorporation, State or Country Code | MN | |
Entity Interactive Data Current | Yes |
CONDENSED CONSOLIDATED BALANCE
CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
ASSETS | ||
Cash and cash equivalents | $ 6,609 | $ 5,836 |
Marketable securities | 7,971 | 8,295 |
Accounts receivable, less allowances of $313 at June 30, 2020 and $322 at December 31, 2019 | 14,883 | 16,059 |
Inventories | 19,915 | 15,580 |
Prepaid expenses | 472 | 559 |
Other current assets | 1,852 | 1,020 |
Total current assets | 51,702 | 47,349 |
Marketable securities, long-term | 14,499 | 12,168 |
Equipment and leasehold improvements, net | 3,034 | 3,341 |
Intangible assets, net | 258 | 310 |
Goodwill | 1,366 | 1,366 |
Right-of-use assets (operating leases) | 2,780 | 2,111 |
Trade notes receivable, long-term | 790 | 962 |
Deferred tax assets | 4,981 | 4,992 |
Total assets | 79,410 | 72,599 |
LIABILITIES AND STOCKHOLDERS’ EQUITY | ||
Accounts payable | 9,587 | 7,023 |
Advance customer payments | 869 | 499 |
Accrued expenses | 3,333 | 2,572 |
Current operating lease liabilities | 761 | 688 |
Total current liabilities | 14,550 | 10,782 |
Other liabilities | 148 | 202 |
Long-term operating lease liabilities | 3,607 | 3,141 |
Reserve for income taxes | 150 | 150 |
Total liabilities | 18,455 | 14,275 |
Commitments and contingencies | ||
Stockholders’ equity: | ||
Preferred stock, no par value, 5,000,000 shares authorized, none outstanding | 0 | 0 |
Common stock, no par value, 25,000,000 shares authorized, 7,231,587 shares issued and outstanding at June 30, 2020 and 7,154,591 shares issued and outstanding at December 31, 2019 | 37,053 | 36,659 |
Accumulated other comprehensive loss | (1,646) | (1,406) |
Retained earnings | 25,548 | 23,071 |
Total stockholders’ equity | 60,955 | 58,324 |
Total liabilities and stockholders’ equity | $ 79,410 | $ 72,599 |
CONDENSED CONSOLDIATED BALANCE
CONDENSED CONSOLDIATED BALANCE SHEETS (Unaudited) (Parenthetical) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
Statement of Financial Position [Abstract] | ||
Accounts receivable, allowances | $ 313 | $ 322 |
Preferred stock, par value | ||
Preferred stock, shares authorized | 5,000,000 | 5,000,000 |
Preferred stock, shares outstanding | 0 | 0 |
Common stock, par value | ||
Common stock, shares authorized | 25,000,000 | 25,000,000 |
Common stock, shares issued | 7,231,587 | 7,154,591 |
Common stock, shares outstanding | 7,231,587 | 7,154,591 |
CONDENSED CONSOLIDATED STATEMEN
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) - USD ($) shares in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Income Statement [Abstract] | ||||
Revenues | $ 15,996,000 | $ 15,044,000 | $ 32,425,000 | $ 30,020,000 |
Cost of revenues | 8,682,000 | 8,455,000 | 17,828,000 | 16,405,000 |
Gross margin | 7,314,000 | 6,589,000 | 14,597,000 | 13,615,000 |
Research and development expenses | 2,182,000 | 2,249,000 | 4,577,000 | 4,542,000 |
Selling, general and administrative expenses | 3,659,000 | 3,761,000 | 7,818,000 | 7,924,000 |
Income from operations | 1,473,000 | 579,000 | 2,202,000 | 1,149,000 |
Interest income and other | 64,000 | 77,000 | 328,000 | 136,000 |
Income before income taxes | 1,537,000 | 656,000 | 2,530,000 | 1,285,000 |
Income tax expense (benefit) | (96,000) | 192,000 | 53,000 | 326,000 |
Net income | $ 1,633,000 | $ 464,000 | $ 2,477,000 | $ 959,000 |
Net income per share – Basic | $ 0.23 | $ 0.07 | $ 0.35 | $ 0.14 |
Net income per share – Diluted | $ 0.22 | $ 0.06 | $ 0.33 | $ 0.13 |
Weighted average shares outstanding – Basic | 7,198 | 7,106 | 7,177 | 7,103 |
Weighted average shares outstanding – Diluted | 7,447 | 7,296 | 7,407 | 7,309 |
CONDENSED CONSOLIDATED STATEM_2
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Unaudited) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Statement of Comprehensive Income [Abstract] | ||||
Net income | $ 1,633 | $ 464 | $ 2,477 | $ 959 |
Other comprehensive income (loss) before income taxes: | ||||
Foreign currency translation adjustments | 154 | (17) | (446) | 70 |
Unrealized gains (losses) on available-for-sale securities: | ||||
Unrealized gains on available-for-sale securities | 121 | 70 | 261 | 128 |
Total other comprehensive income (loss) before income taxes | 275 | 53 | (185) | 198 |
Income tax provision | (25) | (14) | (55) | (26) |
Total other comprehensive income (loss) after income taxes | 250 | 39 | (240) | 172 |
Total comprehensive income | $ 1,883 | $ 503 | $ 2,237 | $ 1,131 |
CONDENSED CONSOLIDATED STATEM_3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) - USD ($) | 6 Months Ended | |
Jun. 30, 2020 | Jun. 30, 2019 | |
CASH FLOWS FROM OPERATING ACTIVITIES: | ||
Net income | $ 2,477,000 | $ 959,000 |
Adjustments to reconcile net income to net cash provided by (used in) operating activities: | ||
Depreciation and amortization | 1,304,000 | 1,358,000 |
Non-cash operating lease expense | 272,000 | 0 |
Recovery for doubtful accounts | (9,000) | (14,000) |
Deferred taxes | (48,000) | 201,000 |
Foreign currency transaction losses (gains) | (305,000) | 29,000 |
Share-based compensation | 558,000 | 493,000 |
Unrealized loss on available-for-sale equity security | 18,000 | 5,000 |
Changes in operating assets and liabilities: | ||
Accounts receivable | 1,357,000 | 320,000 |
Inventories | (5,006,000) | (1,881,000) |
Prepaid expenses and other assets | (782,000) | 648,000 |
Accounts payable | 2,666,000 | (865,000) |
Advance customer payments and other | 319,000 | 186,000 |
Accrued expenses | 780,000 | (561,000) |
Operating lease liabilities | (395,000) | 397,000 |
Net cash provided by operating activities | 3,206,000 | 1,275,000 |
CASH FLOWS FROM INVESTING ACTIVITIES: | ||
Proceeds from maturities of available-for-sale marketable securities | 6,216,000 | 2,860,000 |
Purchases of available-for-sale marketable securities | (7,980,000) | (2,758,000) |
Additions to equipment and leasehold improvements | (477,000) | (957,000) |
Additions to patents | (41,000) | (61,000) |
Net cash used in investing activities | (2,282,000) | (916,000) |
CASH FLOWS FROM FINANCING ACTIVITIES: | ||
Proceeds from exercise of stock options | 256,000 | 59,000 |
Tax payments for shares withheld related to stock option exercises | (420,000) | 0 |
Net cash (used in) provided by financing activities | (164,000) | 59,000 |
Effects of exchange rate changes on cash and cash equivalents | 13,000 | (2,000) |
Net increase in cash and cash equivalents | 773,000 | 416,000 |
Cash and cash equivalents – beginning of period | 5,836,000 | 9,248,000 |
Cash and cash equivalents – end of period | $ 6,609,000 | $ 9,664,000 |
Interim Reporting
Interim Reporting | 6 Months Ended |
Jun. 30, 2020 | |
Organization, Consolidation and Presentation of Financial Statements [Abstract] | |
Interim Reporting | 1. INTERIM REPORTING: The interim condensed consolidated financial statements of CyberOptics Corporation and its wholly-owned subsidiaries ("we", "us" or "our") presented herein as of June 30, 2020 , and for the month periods ended June 30, 2020 and 2019, are unaudited but, in the opinion of management, include all adjustments, consisting of normal recurring adjustments necessary, for a fair presentation of financial position, results of operations and cash flows for the periods presented. The results of operations for the three and six month periods ended do not necessarily indicate the results to be expected for the full year. The consolidated balance sheet data was derived from audited consolidated financial statements, but does not include all disclosures required by accounting principles generally accepted in the United States of America ("U.S. GAAP"). The unaudited interim condensed consolidated financial statements should be read in conjunction with our consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended . |
Covid-19 Pandemic
Covid-19 Pandemic | 6 Months Ended |
Jun. 30, 2020 | |
Unusual or Infrequent Items, or Both [Abstract] | |
Covid-19 Pandemic | 2 19 In December 2019, a novel strain of coronavirus ("Covid- 19 ") was first identified, and in March 2020, the World Health Organization categorized Covid- 19 as a pandemic. The Covid- 19 pandemic is affecting our customers, suppliers, service providers and employees, and the ultimate impacts of Covid- 19 on our business, results of operations, liquidity and prospects are not fully known at this time. The Covid- 19 outbreak has had a relatively minimal impact on our business to date. However, the following factors have affected and may continue to affect our business: · Our key factories are located in Minnesota and Singapore. Both of these locations have been subject to government mandated shelter-in-place orders. Because our operations have been deemed essential, we were able to keep our factories up and running while the shelter-in-place mandates were in effect. If the pandemic worsens, it is possible that our operations may not be deemed essential under future government mandated shelter-in-place orders, and we may be required to shut-down factory operations. We have periodically implemented split-shifts for our factory operations to minimize the number of employees in our facilities at any given time, however, this has not affected our production capacity. Most of the time, our non-factory employees are working remotely. To date, the shelter-in-place mandates and remote work arrangements have had a minimal impact on operations, but material negative effects on our business could result if the pandemic worsens and continues for an extended period of time. · Sales of some products, mainly our SQ 3000 Multi-Function inspection and measurement systems and MX memory module inspection products, require customer acceptance due to performance or other criteria that is considered more than a formality. Many of our customer’s factories have remained open during the Covid- 19 pandemic because they are deemed to be essential under government shelter-in-place mandates. However, global travel restrictions and quarantine measures have hindered our ability to obtain customer acceptances of certain of our products in the second quarter of · We have experienced some supply disruptions due to the Covid- 19 pandemic, mainly from suppliers not deemed essential by shelter-in-place mandates in certain countries. Key supply chain disruptions have been resolved to date. However, supply chain disruptions could increase significantly if the pandemic worsens and continues for an extended period of time. To date, our on-hand inventories have been sufficient to enable us to mitigate supply disruptions. Although we cannot estimate the length or gravity of the impact of the Covid-19 outbreak at this time, if the pandemic continues as expected for the foreseeable future, it may have a material adverse effect on our results of future operations, financial position and liquidity in fiscal year 2020 and beyond. CARES Act On March 27, 2020, the Coronavirus Aid, Relief and Economic Security Act (the "CARES Act") was signed into law in the United States. The CARES Act, among other things, includes provisions relating to refundable payroll tax credits, deferment of employer side social security payments, net operating loss carryback periods and alternative tax credit refunds. The CARES Act also appropriated funds for the Small Business Administration Paycheck Protection Program loans that are forgivable in certain circumstances to promote continued employment. We have analyzed the provisions of the CARES Act and presently do not believe it will have a material benefit to our financial condition, results of operations or liquidity. However, we will continue to monitor the impact the CARES Act could have on our business. Singapore Jobs Support Program The Singapore Government implemented a jobs support program in 2020 that is intended to support businesses and encourage retention of employees during the period of economic uncertainty caused by the Covid-19 pandemic. Under the jobs support program, the Singapore Government has co-funded a portion of the gross monthly wages paid to local employees. The Singapore jobs support program reduced operating expenses in the second quarter of 2020 by approximately $276,000. This program is presently scheduled to end in August 2020. |
Recent Accounting Developments
Recent Accounting Developments | 6 Months Ended |
Jun. 30, 2020 | |
Accounting Policies [Abstract] | |
Recent Accounting Developments | 3. RECENT ACCOUNTING DEVELOPMENTS: In January 2017, the Financial Accounting Standards Board (FASB) issued guidance on simplifying the test for goodwill impairment, 2017 04 Simplifying the Test for Goodwill Impairment 2017 04" 2017 04 was effective for 2017 04 No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements. |
Revenue Recognition
Revenue Recognition | 6 Months Ended |
Jun. 30, 2020 | |
Revenue Recognition [Abstract] | |
Revenue Recognition | 4. REVENUE RECOGNITION: Our revenue performance obligations are primarily satisfied at a point in time and limited revenue streams are satisfied over time as work progresses. The following is a summary of our revenue performance obligations: Three Months Ended June 30, 2020 Three Months Ended June 30, 2019 (In thousands except percentages) Revenues Percent of Revenues Revenues Percent of Revenues Revenue recognized over time $ 362 2 % $ 292 2 % Revenue recognized at a point in time 15,634 98 % 14,752 98 % $ 15,996 100 % $ 15,044 100 % Six Months Ended June 30, 2020 Six Months Ended June 30, 2019 (In thousands except percentages) Revenues Percent of Revenues Revenues Percent of Revenues Revenue recognized over time $ 555 2 % $ 638 2 % Revenue recognized at a point in time 31,870 98 % 29,382 98 % $ 32,425 100 % $ 30,020 100 % Contract Balances Contract assets consist of unbilled amounts from sales where we recognize the revenue over time and the revenue recognized exceeds the amount billed to the customer at a point in time. Accounts and trade notes receivable are recorded when the right to payment becomes unconditional. Contract liabilities consist of payments received in advance of performance under the contract. Contract liabilities are recognized as revenue when we perform under the contract. The following summarizes our contract assets and contract liabilities: (In thousands) June 30, 2020 December 31, 2019 Contract assets, included in other current assets $ 4 $ 2 Contract liabilities - advance customer payments $ 661 $ 389 Contract liabilities - deferred warranty revenue $ 323 $ 275 Changes in contract assets in the six months ended June 30, 2020 and June 30, 2019 resulted from unbilled amounts under sensor product arrangements and longer duration 3D scanning service projects in which revenue is recognized over time. Changes in contract liabilities primarily resulted from reclassification of beginning contract liabilities to revenue as performance obligations were satisfied or from cash received in advance and not recognized as revenue. See Note 9 for changes in contractual obligations related to deferred warranty revenue. Unsatisfied performance obligations are generally expected to be recognized as revenue t one three years. no The following summarizes the amounts reclassified from beginning contract liabilities to revenue: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 Amounts reclassified from beginning contract liabilities to revenue $ 55 $ 443 $ 95 $ 216 Amounts reclassified from deferred warranty revenue 83 110 183 224 T otal $ 138 $ 553 $ 278 $ 440 |
Marketable Securities
Marketable Securities | 6 Months Ended |
Jun. 30, 2020 | |
Marketable Securities [Abstract] | |
Marketable Securities | 5. MARKETABLE SECURITIES: Our investments in marketable securities are classified as available-for-sale and consist of the following: June 30, 2020 (In thousands) Cost Unrealized Unrealized Fair Value Short-Term U.S. government and agency obligations $ 5,789 $ 60 $ — $ 5,849 Corporate debt securities and certificates of deposit 1,578 20 — 1,598 Asset backed securities 520 4 — 524 Marketable securities – short-term $ 7,887 $ 84 $ — $ 7,971 Long-Term U.S. government and agency obligations $ 6,807 $ 105 $ — $ 6,912 Corporate debt securities and certificates of deposit 4,831 94 — 4,925 Asset backed securities 2,570 62 — 2,632 Equity security 42 — (12 ) 30 Marketable securities – long-term $ 14,250 $ 261 $ (12 ) $ 14,499 December 31, 2019 (In thousands) Cost Unrealized Unrealized Fair Value Short-Term U.S. government and agency obligations $ 5,766 $ 22 $ — $ 5,788 Corporate debt securities and certificates of deposit 1,085 1 — 1,086 Asset backed securities 1,417 4 — 1,421 Marketable securities – short-term $ 8,268 $ 27 $ — $ 8,295 Long-Term U.S. government and agency obligations $ 6,524 $ 30 $ (1 ) $ 6,553 Corporate debt securities and certificates of deposit 3,004 14 — 3,018 Asset backed securities 2,535 15 (1 ) 2,549 Equity security 42 6 — 48 Marketable securities – long-term $ 12,105 $ 65 $ (2 ) $ 12,168 Our investments in marketable debt securities all have maturities of less than . Net pre-tax unrealized gains for marketable debt securities of $ at and $ at have been recorded as a component of accumulated other comprehensive loss in stockholders’ equity. We have determined that the net pre-tax unrealized gains and losses for marketable debt securities at and were caused by fluctuations in interest rates and are temporary in nature. We review our marketable debt securities to identify and evaluate investments that have indications of possible impairment. Factors considered in determining whether a loss is other-than-temporary include the length of time and extent to which fair value has been less than the cost basis, credit quality and our ability and intent to hold the investment for a period of time sufficient to allow for any anticipated recovery in market value. No marketable securities were sold in the months ended June 30, 2020 or June 30, 2019. See Note 6 for additional information regarding the fair value of our investments in marketable securities. At June 30, 2020, all of our investments in marketable debt securities were in an unrealized gain position. At December 31, 2019, investments in marketable debt securities in an unrealized loss position were as follows: In Unrealized Loss Position For Less Than 12 Months In Unrealized Loss Position For Greater Than 12 Months (In thousands) Fair Value Gross Unrealized Fair Value Gross Unrealized Losses December 31, 2019 U.S. government and agency obligations $ 149 $ ( 1 ) $ — $ — Asset backed securities 684 ( 1 ) — — Marketable securities $ 833 $ ( 2 ) $ — $ — Investments in marketable securities classified as cash equivalents totaled $2.5 million at June 30, 2020 and $ 2.6 million Cash and marketable securities held by foreign subsidiaries totaled $458,000 at June 30, 2020 and $327,000 at December 31, 2019. |
Fair Value Measurements
Fair Value Measurements | 6 Months Ended |
Jun. 30, 2020 | |
Fair Value Disclosures [Abstract] | |
Fair Value Measurements | 6 ASUREMENTS: We determine the fair value of our assets and liabilities based on the exchange price that would be received for an asset or paid to transfer a liability (exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Valuation techniques used to measure fair value maximize the use of observable inputs and minimize the use of unobservable inputs. We use a fair value hierarchy with three two 1 active 2 3 The following provides information regarding fair value measurements for our marketable securities as of June 30, 2020 and December 31, 2019 according to the three Fair Value Measurements at June 30, 2020 (In thousands) Balance June 30, 2020 Quoted Prices 1 Significant 2 Significant 3 Marketable securities: U.S. government and agency obligations $ 12,761 $ — $ 12,761 $ — Corporate debt securities and certificates of deposit 6,523 — 6,523 — Asset backed securities 3,156 — 3,156 — Equity security 30 30 — — Total marketable securities $ 22,470 $ 30 $ 22,440 $ — Fair Value Measurements at December 31, 2019 (In thousands) Balance December 31, 2019 Quoted Prices 1 Significant 2 Significant 3 Marketable securities: U.S. government and agency obligations $ 12,341 $ — $ 12,341 $ — Corporate debt securities and certificates of deposit 4,104 — 4,104 — Asset backed securities 3,970 — 3,970 — Equity security 48 48 — — Total marketable securities $ 20,463 $ 48 $ 20,415 $ — During the six months ended June 30, 2020 and the year ended December 31, 2019, we owned no Level 3 securities, and there were no transfers within the three level hierarchy. A significant transfer is recognized when the inputs used to value a security have been changed which merit a transfer between the levels of the valuation hierarchy. The fair value for our U.S. government and agency obligations, corporate debt securities and certificates of deposit and asset backed securities are determined based on valuations provided by external investment managers who obtain them from a variety of industry standard data providers. The fair value for our equity security is based on a quoted market price obtained from an active market. The carrying amounts of financial instruments included in cash equivalents approximate their related fair values due to the short-term maturities of those instruments. See Note 5 for additional information regarding our investments in marketable securities. Non-financial assets such as equipment and leasehold improvements, goodwill and intangible assets and right-of-use assets for operating leases are subject to non-recurring fair value measurements if they are deemed impaired. We had no re-measurements of non-financial assets to fair value in the six months ended June 30, 2020 or June 30, 2019. See Note 10 for our analysis regarding potential impairment of goodwill, other long-lived assets and intangibles. The fair value for trade notes receivable is based on discounted future cash flows using current interest rates that would be offered for a similar transaction to a similarly situated customer. The difference between the carrying amount and estimated fair value for trade notes receivable is immaterial. If measured at fair value in the financial statements, these financial instruments would be classified as Level 3 in the fair value hierarchy. At June 30, 2020, our trade notes receivable were deemed to be fully collectible, and no trade notes receivable were past due more than 90 days or in a non-accrual status with respect to interest income. |
Share-Based Compensation
Share-Based Compensation | 6 Months Ended |
Jun. 30, 2020 | |
Share-based Compensation [Abstract] | |
Share-Based Compensation | 7 We have three share-based compensation plans that are administered by the Compensation Committee of the Board of Directors. We have (a) an Employee Stock Incentive Plan for officers, other employees, consultants and independent contractors under which we have granted options and restricted stock units to officers and other employees, (b) an Employee Stock Purchase Plan under which shares of our common stock may be acquired by employees at discounted prices, and (c) a Non-Employee Director Stock Plan that provides for automatic grants of restricted shares of our common stock to non-employee directors. New shares of our common stock are issued upon stock option exercises, vesting of restricted stock units, issuances of shares to board members and issuances of shares under the Employee Stock Purchase Plan. Employee Stock Incentive Plan As of , there were 185,351 shares and expire seven years after the date of grant. Restricted stock units vest over a four year period and entitle the holders to one share of our common stock for each restricted stock unit. Reserved shares underlying outstanding awards, including options and restricted stock units, that are forfeited are available again under the Employee Stock Incentive Plan for future grant. Non-Employee Director Stock Plan As of June 30, 2020, there were 44,000 shares of common stock reserved in the aggregate for issuance pursuant to future restricted share grants under our Non-Employee Director Stock Plan and 12,000 shares of common stock reserved in the aggregate for issuance pursuant to outstanding stock option awards under our Non-Employee Director Stock Plan (which previously authorized the granting of stock options to non-employee directors). Under the terms of the plan, each non-employee director receives annual restricted share grants of 2,000 shares of our common stock on the date of each annual meeting at which such director is elected to serve on the board . The annual restricted share grants of common stock vest in four On the date of our 2020 Stock Option Activity The following is a summary of stock option activity in the six months ended : Options Outstanding Weighted Average Exercise Outstanding, December 31, 2019 520,513 $ 12.25 Granted — — Exercised (104,613 ) 7.72 Expired — — Forfeited — — Outstanding, June 30, 2020 415,900 $ 13.39 Exercisable, June 30, 2020 276,326 $ 11.33 The intrinsic value of an option is the amount by which the market price of the underlying common stock exceeds the option's exercise price. For options outstanding at , the weighted average remaining contractual term of all outstanding options was 3.5 years and their aggregate intrinsic value was $7.8 million. At , the weighted average remaining contractual term of options that were exercisable was 2.5 years and their aggregate intrinsic value was $5.7 million. The aggregate intrinsic value of stock options exercised was $ million in the six months ended June 30, 2020 and $57,000 in the six months ended June 30, 2019. . No stock options vested in the six months ended June 30, 2020. Restricted Shares and Restricted Stock Units Restricted shares are granted under our Non-Employee Director Stock Plan. There were 8,000 Restricted stock units are granted under our Employee Stock Incentive Plan. No restricted stock units were granted in the six months ended June 30, 2020. was $2.3 million. The aggregate fair value of restricted shares and restricted stock units that vested, based on the closing price of our common stock on the vesting date, was $102,000 in the six months ended June 30, 2020 and $77,000 in the six months ended June 30, 2019. The following is a summary of activity in restricted shares and restricted stock units in the : Restricted shares and restricted stock units Shares Weighted Average Grant Date Fair Value Non-vested at December 31, 2019 68,204 $ 17.39 Granted 8,000 28.34 Vested (4,000 ) 17.26 Forfeited — — Non-vested at June 30, 2020 72,204 $ 18.61 Employee Stock Purchase Plan We have an Employee Stock Purchase Plan available to eligible U.S. employees. Under the terms of the plan, eligible employees may designate from 1% to 10% of their compensation to be withheld through payroll deductions, up to a maximum of $6,500 in each plan year, for the purchase of common stock at 85% of the lower of the market price on the first or last day of the offering period (which begins on August 1 shares were purchased under this plan in the six months ended June 30, 2020 or the six months ended June 30, 2019. As of June 30, 2020, 156,688 shares remain available for future purchase under the Employee Stock Purchase Plan. Share-Based Compensation Information All share-based compensation awarded to our employees and non-employee directors, including grants of stock options, restricted stock units and restricted shares, are required to be recognized as an expense in our consolidated statements of operations based on the grant date fair value of the award. We utilize the straight-line method of expense recognition over the award's service period for our graded vesting options. The fair value of stock options has been determined as of the date of grant using the Black-Scholes model. We have classified employee share-based compensation within our statements of operations in the same manner as our cash-based employee compensation costs. Pre-tax share-based compensation expense in the three months ended June 30, 2020 totaled $286,000, and included $114,000 for stock options, $25,000 for our Employee 46,000 Pre-tax share-based compensation expense in the three months ended June 30, 2019 totaled $249,000, and included $110,000 for stock options, $31,000 for our Employee Stock Purchase Plan, $77,000 for restricted stock units and $31,000 for restricted shares. Pre-tax share-based compensation expense in the six months ended June 30, 2019 totaled $493,000, and included $217,000 for stock options, $60,000 for our Employee Stock Purchase Plan, $153,000 for restricted stock units and $63,000 for restricted shares. At , the total unrecognized compensation cost related to non-vested share-based compensation arrangements was $ 2.0 2.5 years. |
Changes In Stockholders' Equity
Changes In Stockholders' Equity | 6 Months Ended |
Jun. 30, 2020 | |
Stockholders' Equity Note [Abstract] | |
Changes In Stockholders' Equity | 8 CHANGES IN STOCKHOLDERS’ EQUITY: A reconciliation of the changes in our stockholders' equity is as follows: Three Months Ended June 30, 2020 Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance, March 31, 2020 7,165 $ 37,016 $ (1,896 ) $ 23,915 $ 59,035 Exercise of stock options, net of shares exchanged as payment 75 171 — — 171 Tax payments for shares withheld related to stock option exercises (16 ) (420 ) — — (420 ) Share issuances for director compensation 8 — — — — Share-based compensation — 286 — — 286 Other comprehensive income, net of tax — — 250 — 250 Net income — — — 1,633 1,633 Balance, June 30, 2020 7,232 $ 37,053 $ (1,646 ) $ 25,548 $ 60,955 Six Months Ended June 30, 2020 Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance, December 31, 2019 7,155 $ 36,659 $ (1,406 ) $ 23,071 $ 58,324 Exercise of stock options, net of shares exchanged as payment 85 256 — — 256 Tax payments for shares withheld related to stock option exercises (16 ) (420 ) — — (420 ) Share issuances for director compensation 8 — — — — Share-based compensation — 558 — — 558 Other comprehensive loss, net of tax — — (240 ) — (240 ) Net income — — — 2,477 2,477 Balance, June 30, 2020 7,232 $ 37,053 $ (1,646 ) $ 25,548 $ 60,955 Three Months Ended June 30, 2019 : Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance, March 31, 2019 7,107 $ $ ) $ 22,792 $ 57,175 Share issuances for director compensation — — Share-based compensation 249 — Other comprehensive income, net of tax 39 — 39 Net income — 464 464 Balance, June 30, 2019 $ 36,189 $ (1,518 ) $ 23,256 $ 57,927 Six Months Ended June 30, 2019: Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance December 31, 2018 7,101 $ 35,637 $ (1,690 ) $ 22,264 $ 56,211 Increase related to adoption of ASU - — — — 33 33 Exercise of stock options, net of shares exchanged as payment 6 59 — — 59 Share issuances for director compensation 8 — — — — Share-based compensation — 493 — — 493 Other comprehensive income, net of tax — — 172 — 172 Net income — — — 959 959 Balance, June 30, 2019 7,115 $ 36,189 $ (1,518 ) $ 23,256 $ 57,927 |
Other Financial Statement Data
Other Financial Statement Data | 6 Months Ended |
Jun. 30, 2020 | |
Balance Sheet Related Disclosures [Abstract] | |
Other Financial Statement Data | 9. OTHER FINANCIAL STATEMENT DATA: Inventories consist of the following: (In thousands) June 30, 2020 December 31, 2019 Raw materials and purchased parts $ 11,542 $ 9,845 Work in process 2,166 1,837 Finished goods 4,770 2,373 Demonstration inventories, net 1,437 1,525 Total inventories $ 19,915 $ 15,580 Excess and obsolete inventories were written down by $667,000 at June 30, 2020 and $649,000 at December 31, 2019. Demonstration inventories are stated at cost less accumulated amortization, generally based on a 36 month useful life. Accumulated amortization for demonstration inventories totaled $2.6 million at June 30, 2020 and Accrued expenses consisted of the following: (In thousands) June 30, 2020 December 31, 2019 Wages and benefits $ 2,232 $ 1,319 Warranty liability 729 761 Income taxes payable 144 333 Other 228 159 $ 3,333 $ 2,572 Warranty costs: We provide for the estimated cost of product warranties, which cover products for periods ranging from one three years , at the time revenue is recognized. While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of components provided by suppliers, warranty obligations do arise. These obligations are affected by product failure rates, the cost of materials used in correcting product failures and service delivery expenses incurred to make these corrections. If actual product failure rates and material or service delivery costs differ from our estimates, revisions to the estimated warranty liability are required and could be material. At the end of each reporting period, we revise our estimated warranty liability based on these factors. The current portion of our warranty liability is included as a component of accrued expenses. The long-term portion of our warranty liability is included as a component of other liabilities. A reconciliation of the changes in our estimated warranty liability is as follows: Six Months Ended June 30, (In thousands) 2020 2019 Balance at beginning of period $ 798 $ 789 Accrual for warranties 429 450 Warranty revision 9 (22 ) Settlements made during the period (474 ) (379 ) Balance at end of period 762 838 Current portion of estimated warranty liability (729 ) (806 ) Long-term estimated warranty liability $ 33 $ 32 Deferred warranty revenue: The current portion of our deferred warranty revenue is included as a component of advance customer payments. The long-term portion of our deferred warranty revenue is included as a component of other liabilities. A reconciliation of the changes in our deferred warranty revenue is as follows: Six Months Ended June 30, (In thousands) 2020 2019 Balance at beginning of period $ 275 $ 218 Revenue deferrals 231 238 Amortization of deferred revenue (183 ) (224 ) Total deferred warranty revenue 323 232 Current portion of deferred warranty revenue (209 ) (214 ) Long-term deferred warranty revenue $ 114 $ 18 |
Intangible Assets
Intangible Assets | 6 Months Ended |
Jun. 30, 2020 | |
Intangible Assets, Net (Excluding Goodwill) [Abstract] | |
Intangible Assets | 10. INTANGIBLE ASSETS: Impairment Considerations (goodwill and intangibles) The current Covid-19 pandemic has caused a significant deterioration in global economic conditions, including high levels of unemployment and a significant contraction in economic activity. The global economy is likely in the midst of an economic recession or depression. We evaluate the carrying value of goodwill and intangibles for impairment whenever management believes indicators of impairment might exist. A significant deterioration in macroeconomic conditions is a key indicator of possible impairment. In addition to macroeconomic conditions, management considered the factors in the FASB's Accounting Standards Codification Topic 350 when analyzing goodwill and intangibles for possible impairment, including the following: Conditions in the global SMT and semiconductor capital equipment markets (including conditions resulting from the Covid-19 pandemic); Our revenue and profitability in the six months ended June 30, 2020; Our backlog at June 30, 2020, $ m Our forecasts for revenue and profitability for the remainder of 2020 and beyond; The manner of use and applicability of our intangibles, which is not expected to change; and Our stock market capitalization, which is significantly greater than our net book value. After carefully considering the factors outlined above, among others, we determined that it is more likely than not that our goodwill and intangibles were not impaired as of June 30, 2020. Intangible assets consisted of the following: June 30, 2020 December 31, 2019 (In thousands) Gross Accumulated Net Gross Accumulated Net Patents $ 2,939 $ (2,735 ) $ 204 $ 2,898 $ (2,662 ) $ 236 Software 206 (185 ) 21 206 (170 ) 36 Marketing assets and customer relationships 101 (68 ) 33 101 (63 ) 38 $ 3,246 $ (2,988 ) $ 258 $ 3,205 $ (2,895 ) $ 310 Amortization expense in the three and six months ended June 30, 2020 and June 30, 2019 was as follows: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 Patents $ 35 $ 33 $ 73 $ 64 Software 7 8 15 15 Marketing assets and customer relationships 3 2 5 4 $ 45 $ 43 $ 93 $ 83 Estimated aggregate amortization expense based on current intangible assets for the next five years is expected to be as follows: $85,000 for the remainder of 2020 $108,000 in 2021 $50,000 in 2022 $13,000 in 2023 and $2,000 in 2024 . |
Revenue Concentrations, Signifi
Revenue Concentrations, Significant Customers And Geographic Areas | 6 Months Ended |
Jun. 30, 2020 | |
Segment Reporting [Abstract] | |
Revenue Concentrations, Significant Customers And Geographic Areas | 11. REVENUE CONCENTRATIONS, SIGNIFICANT CUSTOMERS AND GEOGRAPHIC AREAS The following summarizes our revenue by product line: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 High Precision 3D and 2D Sensors $ 4,745 $ 2,004 $ 8,867 $ 5,753 Inspection and Metrology Systems 7,661 9,918 16,022 17,009 Semiconductor Sensors 3,590 3,122 7,536 7,258 Total $ 15,996 $ 15,044 $ 32,425 $ 30,020 Export revenues as a percentage of total revenues in the three and six months ended June 30, 2020 were 84% and 78%, respectively. Export revenues as a percentage of total revenue in the three and six months ended June 30, 2019 were 73% and 72%, respectively. Export revenues are attributed to the country where the product is shipped. Substantially all of our export revenues are negotiated, invoiced and paid in U.S. dollars. Export revenues by geographic area are summarized as follows: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 Americas $ 97 $ 205 $ 497 $ 576 Europe 2,369 1,606 4,472 4,264 China 3,954 3,559 7,834 6,334 Taiwan 763 999 2,479 3,144 Other Asia 5,449 4,207 9,129 6,819 Other 742 339 742 384 Total export sales $ 13,374 $ 10,915 $ 25,153 $ 21,521 In the six months ended June 30, 2020, sales to significant customer A accounted for 16% of our total revenues. As of June 30, 2020, accounts receivable from significant customer A was $ 2.2 |
Net Income Per Share
Net Income Per Share | 6 Months Ended |
Jun. 30, 2020 | |
Earnings Per Share [Abstract] | |
Net Income Per Share | 12. NET INCOME PER SHARE: Net income per basic share is computed by dividing net income by the weighted average number of common shares outstanding during the period. Net income per diluted share is computed by dividing net income by the weighted average number of common and common equivalent shares outstanding during the period. The components of net income per basic and diluted share were as follows: (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Three Months Ended June 30, 2020 Basic $ 1,633 7,198 $ 0.23 Dilutive effect of common equivalent shares — 249 (0.01 ) Dilutive $ 1,633 7,447 $ 0.22 (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Three Months Ended June 30, 2019 Basic $ 464 7,106 $ 0.07 Dilutive effect of common equivalent shares — 190 (0.01 ) Dilutive $ 464 7,296 $ 0.06 (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Six Months Ended June 30, 2020 Basic $ 2,477 7,177 $ 0.35 Dilutive effect of common equivalent shares — 230 (0.02 ) Dilutive $ 2,477 7,407 $ 0.33 (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Six Months Ended June 30, 2019 Basic $ 959 7,103 $ 0.14 Dilutive effect of common equivalent shares — 206 (0.01 ) Dilutive $ 959 7,309 $ 0.13 Potentially dilutive shares consist of stock options, restricted stock units, restricted shares and purchases of shares under our Employee Stock Purchase Plan. Potentially dilutive shares excluded from the calculations of net income per diluted shar e due to their anti-dilutive effect were as follows: 34,000 shares in the three months ended June 30, 2020 ; ; 200,000 shares in the three months ended June 30, 2019 ; 180,000 shares in the six months ended June 30, 2019 . |
Other Comprehensive Income (Los
Other Comprehensive Income (Loss) | 6 Months Ended |
Jun. 30, 2020 | |
Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] | |
Other Comprehensive (Income) Loss | 13. OTHER COMPREHENSIVE INCOME (LOSS): Reclassification adjustments are made to avoid double counting for items included in other comprehensive income (loss) that are also recorded as part of net income. There were no reclassification adjustments in the three and six months ended June 30, 2020 or the three and six months ended June 30, 2019. Taxes related to items of other comprehensive income (loss) are as follows: Three Months Ended June 30, 2020 Three Months Ended June 30, 2019 (In thousands) Before Tax Tax Effect Net of Tax Amount Before Tax Tax Effect Net of Tax Amount Foreign currency translation adjustments $ 154 $ — $ 154 $ (17 ) $ — $ (17 ) Unrealized gains on available-for-sale securities 121 (25 ) 96 70 (14 ) 56 Other comprehensive income (loss) $ 275 $ (25 ) $ 250 $ 53 $ (14 ) $ 39 Six Months Ended June 30, 2020 Six Months Ended June 30, 2019 (In thousands) Before Tax Tax Effect Net of Tax Amount Before Tax Tax Effect Net of Tax Amount Foreign currency translation adjustments $ (446 ) $ — $ (446 ) $ 70 $ — $ 70 Unrealized gains on available-for-sale securities 261 (55 ) 206 128 (26 ) 102 Other comprehensive income (loss) $ (185 ) $ (55 ) $ (240 ) $ 198 $ (26 ) $ 172 At June 30, 2020 and June 30, 2019, components of accumulated other comprehensive loss are as follows: (In thousands) Foreign Available- for-Sale Accumulated Balances at December 31, 2019 $ (1,475 ) $ 69 $ (1,406 ) Other comprehensive income (loss) for the six months ended June 30, 2020 (446 ) 206 (240 ) Balances at June 30, 2020 $ (1,921 ) $ 275 $ (1,646 ) (In thousands) Foreign Available- for-Sale Accumulated Balances at December 31, 2018 $ (1,649 ) $ (41 ) $ (1,690 ) Other comprehensive income for the six months ended June 30, 2019 70 102 172 Balances at June 30, 2019 $ (1,579 ) $ 61 $ (1,518 ) |
Income Taxes
Income Taxes | 6 Months Ended |
Jun. 30, 2020 | |
Income Tax Disclosure [Abstract] | |
Income Taxes | 14 We recorded an income tax benefit of $ 96,000 in the three months ended June 30, 2020 , compared to income tax expense of $ 192,000 in the three months ended June 30, 2019 We recorded income tax expense of $ 53,000 in the six months ended June 30, 2020 , compared to income tax expense of $ 326,000 in the six months ended June 30, 2019 . The income tax benefit in the three months ended June 30, 2020 includes $340,000 in excess tax benefits from employee stock option exercises. income tax expense in the six months ended June 30, 2020 reflected an effective tax rate of approximately 2%, compared to an effective tax rate of approximately 25% in the six months ended June 30, 2019. The reduction in effective tax rate in the six months ended June 30, 2020 six months ended June 30, 2019 We were unable to take advantage of the FDII and GILTI deductions and foreign credits in 2019 because we had un-used federal net operating loss carry-forwards. We expect to use our remaining federal net operating loss carry forwards in 2020. We have significant deferred tax assets as a result of temporary differences between taxable income on our tax returns and U.S. GAAP income, R&D tax credit carry forwards and federal and state net operating loss carry forwards. A deferred tax asset generally represents future tax benefits to be received when temporary differences previously reported in our consolidated financial statements become deductible for income tax purposes, when net operating loss carry forwards could be applied against future taxable income, or when tax credit carry forwards are utilized on our tax returns. We assess the realizability of our deferred tax assets and the need for a valuation allowance based on the guidance provided in current financial accounting standards. Significant judgment is required in determining the three years The Inland Revenue Authority of Singapore has initiated a routine compliance review of our We presently anticipate that the outcome of this audit will not have a significant impact on our financial position or results of operations. |
Operating Leases
Operating Leases | 6 Months Ended |
Jun. 30, 2020 | |
Leases [Abstract] | |
Operating Leases | 15 Operating leases are included in operating lease right-of-use (“ROU”) assets, current operating lease liabilities, and long-term operating lease liabilities in our consolidated balance sheets. ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Operating lease ROU assets and liabilities are recognized based on the present value of lease payments over the lease term. Because our leases do not provide an implicit rate, we use our incremental borrowing rate to determine the present value of lease payments. Lease expense is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components (e.g., common-area or other maintenance costs) which are generally accounted for separately and expensed monthly. In February 2020, we finalized an extension to our lease for our existing 19,805 square foot mixed office and warehouse facility in Singapore, which serves as a sales, development and final assembly and integration facility for our inspection and metrology system products. The lease runs from the expiration date of our old lease in July 2020 through July 24, 2023. The new lease does not contain any incentives or renewal options. Rent and facility operating costs under the new lease are expected to remain unchanged from the old lease that expired in July 2020. At June 30, 2020, the future maturities of lease liabilities are as follows: Twelve months ending June 30, (In thousands) 2021 $ 968 2022 985 2023 993 2024 704 2025 666 2026 and thereafter 740 Total lease payments 5,056 Less: amount representing interest 688 Present value of operating lease liabilities $ 4,368 At June 30, 2020, the weighted average remaining term for our operating leases is 5.33 years, and the weighted average discount rate applied to our operating leases w as 5.17% . Operating lease liabilities were increased by $ 920,000 in the six months ended June 30, 2020 for ROU assets related to the extended lease for our Singapore facility and a new small leased facility in Taiwan. Incentives from the landlord recorded as leasehold improvements in the six months ended June 30, 2019 were $691,000. |
Share Repurchases
Share Repurchases | 6 Months Ended |
Jun. 30, 2020 | |
Equity [Abstract] | |
Share Repurchases | 16. SHARE REPURCHASES: In July 2019, our Board of Directors authorized a $3.0 million share repurchase program. There were no share repurchases under this program in the six months ended June 30, 2020. The share repurchase program terminated on June 30, 2020. |
Contingencies
Contingencies | 6 Months Ended |
Jun. 30, 2020 | |
Commitments and Contingencies Disclosure [Abstract] | |
Contingencies | 17 We are periodically a defendant in lawsuits, claims and disputes in the ordinary course of business. While the outcome of these matters cannot be predicted with certainty, management presently believes the disposition of these matters will not have a material effect on our financial position, results of operations or cash flows. In the normal course of business to facilitate sales of our products and services, we at times indemnify other parties, including customers, with respect to certain matters. In these instances, we have agreed to hold the other parties harmless against losses arising out of intellectual property infringement or other types of claims. These agreements may limit the time within which an indemnification claim can be made, and almost always limits the amount of the claim. It is not possible to determine the maximum potential amount under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. Historically, payments made, if any, under these agreements have not had a material impact on our operating results, financial position or cash flows. However, there can be no assurance that intellectual property infringement and other claims against us or parties we have indemnified will have the same impact in the future. |
Recent Accounting Developments
Recent Accounting Developments (Policies) | 6 Months Ended |
Jun. 30, 2020 | |
Accounting Policies [Abstract] | |
Recent Accounting Developments | In January 2017, the Financial Accounting Standards Board (FASB) issued guidance on simplifying the test for goodwill impairment, 2017 04 Simplifying the Test for Goodwill Impairment 2017 04" 2017 04 was effective for 2017 04 No other new accounting pronouncements are expected to have a significant impact on our consolidated financial statements. |
Revenue Recognition (Tables)
Revenue Recognition (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Revenue Recognition [Abstract] | |
Summary of revenue performance obligations | The following is a summary of our revenue performance obligations: Three Months Ended June 30, 2020 Three Months Ended June 30, 2019 (In thousands except percentages) Revenues Percent of Revenues Revenues Percent of Revenues Revenue recognized over time $ 362 2 % $ 292 2 % Revenue recognized at a point in time 15,634 98 % 14,752 98 % $ 15,996 100 % $ 15,044 100 % Six Months Ended June 30, 2020 Six Months Ended June 30, 2019 (In thousands except percentages) Revenues Percent of Revenues Revenues Percent of Revenues Revenue recognized over time $ 555 2 % $ 638 2 % Revenue recognized at a point in time 31,870 98 % 29,382 98 % $ 32,425 100 % $ 30,020 100 % |
Summary of contract assets and contract liabilities | The following summarizes our contract assets and contract liabilities: (In thousands) June 30, 2020 December 31, 2019 Contract assets, included in other current assets $ 4 $ 2 Contract liabilities - advance customer payments $ 661 $ 389 Contract liabilities - deferred warranty revenue $ 323 $ 275 |
Summary of the amounts reclassified from beginning contract liabilities to revenue | The following summarizes the amounts reclassified from beginning contract liabilities to revenue: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 Amounts reclassified from beginning contract liabilities to revenue $ 55 $ 443 $ 95 $ 216 Amounts reclassified from deferred warranty revenue 83 110 183 224 T otal $ 138 $ 553 $ 278 $ 440 |
Marketable Securities (Tables)
Marketable Securities (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Marketable Securities [Abstract] | |
Schedule of Marketable Securities | Our investments in marketable securities are classified as available-for-sale and consist of the following: June 30, 2020 (In thousands) Cost Unrealized Unrealized Fair Value Short-Term U.S. government and agency obligations $ 5,789 $ 60 $ — $ 5,849 Corporate debt securities and certificates of deposit 1,578 20 — 1,598 Asset backed securities 520 4 — 524 Marketable securities – short-term $ 7,887 $ 84 $ — $ 7,971 Long-Term U.S. government and agency obligations $ 6,807 $ 105 $ — $ 6,912 Corporate debt securities and certificates of deposit 4,831 94 — 4,925 Asset backed securities 2,570 62 — 2,632 Equity security 42 — (12 ) 30 Marketable securities – long-term $ 14,250 $ 261 $ (12 ) $ 14,499 December 31, 2019 (In thousands) Cost Unrealized Unrealized Fair Value Short-Term U.S. government and agency obligations $ 5,766 $ 22 $ — $ 5,788 Corporate debt securities and certificates of deposit 1,085 1 — 1,086 Asset backed securities 1,417 4 — 1,421 Marketable securities – short-term $ 8,268 $ 27 $ — $ 8,295 Long-Term U.S. government and agency obligations $ 6,524 $ 30 $ (1 ) $ 6,553 Corporate debt securities and certificates of deposit 3,004 14 — 3,018 Asset backed securities 2,535 15 (1 ) 2,549 Equity security 42 6 — 48 Marketable securities – long-term $ 12,105 $ 65 $ (2 ) $ 12,168 |
Schedule of Unrealized Loss Position | At June 30, 2020, all of our investments in marketable debt securities were in an unrealized gain position. At December 31, 2019, investments in marketable debt securities in an unrealized loss position were as follows: In Unrealized Loss Position For Less Than 12 Months In Unrealized Loss Position For Greater Than 12 Months (In thousands) Fair Value Gross Unrealized Fair Value Gross Unrealized Losses December 31, 2019 U.S. government and agency obligations $ 149 $ ( 1 ) $ — $ — Asset backed securities 684 ( 1 ) — — Marketable securities $ 833 $ ( 2 ) $ — $ — |
Fair Value Measurements (Tables
Fair Value Measurements (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Fair Value Disclosures [Abstract] | |
Fair Value Measurements for Marketable Securities and Foreign Exchange Forward Contracts | The following provides information regarding fair value measurements for our marketable securities as of June 30, 2020 and December 31, 2019 according to the three Fair Value Measurements at June 30, 2020 (In thousands) Balance June 30, 2020 Quoted Prices 1 Significant 2 Significant 3 Marketable securities: U.S. government and agency obligations $ 12,761 $ — $ 12,761 $ — Corporate debt securities and certificates of deposit 6,523 — 6,523 — Asset backed securities 3,156 — 3,156 — Equity security 30 30 — — Total marketable securities $ 22,470 $ 30 $ 22,440 $ — Fair Value Measurements at December 31, 2019 (In thousands) Balance December 31, 2019 Quoted Prices 1 Significant 2 Significant 3 Marketable securities: U.S. government and agency obligations $ 12,341 $ — $ 12,341 $ — Corporate debt securities and certificates of deposit 4,104 — 4,104 — Asset backed securities 3,970 — 3,970 — Equity security 48 48 — — Total marketable securities $ 20,463 $ 48 $ 20,415 $ — |
Share-Based Compensation (Table
Share-Based Compensation (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Share-based Compensation [Abstract] | |
Schedule of Stock Option Activity | The following is a summary of stock option activity in the six months ended : Options Outstanding Weighted Average Exercise Outstanding, December 31, 2019 520,513 $ 12.25 Granted — — Exercised (104,613 ) 7.72 Expired — — Forfeited — — Outstanding, June 30, 2020 415,900 $ 13.39 Exercisable, June 30, 2020 276,326 $ 11.33 |
Schedule of Non-Vested Restricted Stock Activity | The following is a summary of activity in restricted shares and restricted stock units in the : Restricted shares and restricted stock units Shares Weighted Average Grant Date Fair Value Non-vested at December 31, 2019 68,204 $ 17.39 Granted 8,000 28.34 Vested (4,000 ) 17.26 Forfeited — — Non-vested at June 30, 2020 72,204 $ 18.61 |
Changes In Stockholders' Equi_2
Changes In Stockholders' Equity (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Stockholders' Equity Note [Abstract] | |
Schedule of changes in stockholders' equity | A reconciliation of the changes in our stockholders' equity is as follows: Three Months Ended June 30, 2020 Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance, March 31, 2020 7,165 $ 37,016 $ (1,896 ) $ 23,915 $ 59,035 Exercise of stock options, net of shares exchanged as payment 75 171 — — 171 Tax payments for shares withheld related to stock option exercises (16 ) (420 ) — — (420 ) Share issuances for director compensation 8 — — — — Share-based compensation — 286 — — 286 Other comprehensive income, net of tax — — 250 — 250 Net income — — — 1,633 1,633 Balance, June 30, 2020 7,232 $ 37,053 $ (1,646 ) $ 25,548 $ 60,955 Six Months Ended June 30, 2020 Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance, December 31, 2019 7,155 $ 36,659 $ (1,406 ) $ 23,071 $ 58,324 Exercise of stock options, net of shares exchanged as payment 85 256 — — 256 Tax payments for shares withheld related to stock option exercises (16 ) (420 ) — — (420 ) Share issuances for director compensation 8 — — — — Share-based compensation — 558 — — 558 Other comprehensive loss, net of tax — — (240 ) — (240 ) Net income — — — 2,477 2,477 Balance, June 30, 2020 7,232 $ 37,053 $ (1,646 ) $ 25,548 $ 60,955 Three Months Ended June 30, 2019 : Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance, March 31, 2019 7,107 $ $ ) $ 22,792 $ 57,175 Share issuances for director compensation — — Share-based compensation 249 — Other comprehensive income, net of tax 39 — 39 Net income — 464 464 Balance, June 30, 2019 $ 36,189 $ (1,518 ) $ 23,256 $ 57,927 Six Months Ended June 30, 2019: Common Stock Accumulated Other Comprehensive Loss Retained Earnings Total Stockholders’ Equity (In thousands) Shares Amount Balance December 31, 2018 7,101 $ 35,637 $ (1,690 ) $ 22,264 $ 56,211 Increase related to adoption of ASU - — — — 33 33 Exercise of stock options, net of shares exchanged as payment 6 59 — — 59 Share issuances for director compensation 8 — — — — Share-based compensation — 493 — — 493 Other comprehensive income, net of tax — — 172 — 172 Net income — — — 959 959 Balance, June 30, 2019 7,115 $ 36,189 $ (1,518 ) $ 23,256 $ 57,927 |
Other Financial Statement Data
Other Financial Statement Data (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Balance Sheet Related Disclosures [Abstract] | |
Schedule of Inventories | Inventories consist of the following: (In thousands) June 30, 2020 December 31, 2019 Raw materials and purchased parts $ 11,542 $ 9,845 Work in process 2,166 1,837 Finished goods 4,770 2,373 Demonstration inventories, net 1,437 1,525 Total inventories $ 19,915 $ 15,580 |
Schedule of Accrued Liabilities | Accrued expenses consisted of the following: (In thousands) June 30, 2020 December 31, 2019 Wages and benefits $ 2,232 $ 1,319 Warranty liability 729 761 Income taxes payable 144 333 Other 228 159 $ 3,333 $ 2,572 |
Schedule of Changes In Estimated Warranty Liability | A reconciliation of the changes in our estimated warranty liability is as follows: Six Months Ended June 30, (In thousands) 2020 2019 Balance at beginning of period $ 798 $ 789 Accrual for warranties 429 450 Warranty revision 9 (22 ) Settlements made during the period (474 ) (379 ) Balance at end of period 762 838 Current portion of estimated warranty liability (729 ) (806 ) Long-term estimated warranty liability $ 33 $ 32 |
Schedule Of Changes In Deferred Warranty Revenue | A reconciliation of the changes in our deferred warranty revenue is as follows: Six Months Ended June 30, (In thousands) 2020 2019 Balance at beginning of period $ 275 $ 218 Revenue deferrals 231 238 Amortization of deferred revenue (183 ) (224 ) Total deferred warranty revenue 323 232 Current portion of deferred warranty revenue (209 ) (214 ) Long-term deferred warranty revenue $ 114 $ 18 |
Intangible Assets (Tables)
Intangible Assets (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Intangible Assets, Net (Excluding Goodwill) [Abstract] | |
Schedule of Intangible Assets | Intangible assets consisted of the following: June 30, 2020 December 31, 2019 (In thousands) Gross Accumulated Net Gross Accumulated Net Patents $ 2,939 $ (2,735 ) $ 204 $ 2,898 $ (2,662 ) $ 236 Software 206 (185 ) 21 206 (170 ) 36 Marketing assets and customer relationships 101 (68 ) 33 101 (63 ) 38 $ 3,246 $ (2,988 ) $ 258 $ 3,205 $ (2,895 ) $ 310 |
Schedule of Amortization Expense For Intangible Assets | Amortization expense in the three and six months ended June 30, 2020 and June 30, 2019 was as follows: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 Patents $ 35 $ 33 $ 73 $ 64 Software 7 8 15 15 Marketing assets and customer relationships 3 2 5 4 $ 45 $ 43 $ 93 $ 83 |
Revenue Concentrations, Signi_2
Revenue Concentrations, Significant Customers And Geographic Areas (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Segment Reporting [Abstract] | |
Summary Of Revenue By Product Line | The following summarizes our revenue by product line: Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 High Precision 3D and 2D Sensors $ 4,745 $ 2,004 $ 8,867 $ 5,753 Inspection and Metrology Systems 7,661 9,918 16,022 17,009 Semiconductor Sensors 3,590 3,122 7,536 7,258 Total $ 15,996 $ 15,044 $ 32,425 $ 30,020 |
Schedule of Sales By Geographic Area | Three Months Ended June 30, Six Months Ended June 30, (In thousands) 2020 2019 2020 2019 Americas $ 97 $ 205 $ 497 $ 576 Europe 2,369 1,606 4,472 4,264 China 3,954 3,559 7,834 6,334 Taiwan 763 999 2,479 3,144 Other Asia 5,449 4,207 9,129 6,819 Other 742 339 742 384 Total export sales $ 13,374 $ 10,915 $ 25,153 $ 21,521 |
Net Income Per Share (Tables)
Net Income Per Share (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Earnings Per Share [Abstract] | |
Schedule of Net Income per Basic and Diluted Shares | The components of net income per basic and diluted share were as follows: (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Three Months Ended June 30, 2020 Basic $ 1,633 7,198 $ 0.23 Dilutive effect of common equivalent shares — 249 (0.01 ) Dilutive $ 1,633 7,447 $ 0.22 (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Three Months Ended June 30, 2019 Basic $ 464 7,106 $ 0.07 Dilutive effect of common equivalent shares — 190 (0.01 ) Dilutive $ 464 7,296 $ 0.06 (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Six Months Ended June 30, 2020 Basic $ 2,477 7,177 $ 0.35 Dilutive effect of common equivalent shares — 230 (0.02 ) Dilutive $ 2,477 7,407 $ 0.33 (In thousands except per share amounts) Net Income Weighted Average Shares Outstanding Per Share Amount Six Months Ended June 30, 2019 Basic $ 959 7,103 $ 0.14 Dilutive effect of common equivalent shares — 206 (0.01 ) Dilutive $ 959 7,309 $ 0.13 |
Other Comprehensive Income (L_2
Other Comprehensive Income (Loss) (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] | |
The Effect of The Reclassifications From Comprehensive Income (Loss) To Earnings | Three Months Ended June 30, 2020 Three Months Ended June 30, 2019 (In thousands) Before Tax Tax Effect Net of Tax Amount Before Tax Tax Effect Net of Tax Amount Foreign currency translation adjustments $ 154 $ — $ 154 $ (17 ) $ — $ (17 ) Unrealized gains on available-for-sale securities 121 (25 ) 96 70 (14 ) 56 Other comprehensive income (loss) $ 275 $ (25 ) $ 250 $ 53 $ (14 ) $ 39 Six Months Ended June 30, 2020 Six Months Ended June 30, 2019 (In thousands) Before Tax Tax Effect Net of Tax Amount Before Tax Tax Effect Net of Tax Amount Foreign currency translation adjustments $ (446 ) $ — $ (446 ) $ 70 $ — $ 70 Unrealized gains on available-for-sale securities 261 (55 ) 206 128 (26 ) 102 Other comprehensive income (loss) $ (185 ) $ (55 ) $ (240 ) $ 198 $ (26 ) $ 172 |
Schedule of Accumulated Other Comprehensive Loss | At June 30, 2020 and June 30, 2019, components of accumulated other comprehensive loss are as follows: (In thousands) Foreign Available- for-Sale Accumulated Balances at December 31, 2019 $ (1,475 ) $ 69 $ (1,406 ) Other comprehensive income (loss) for the six months ended June 30, 2020 (446 ) 206 (240 ) Balances at June 30, 2020 $ (1,921 ) $ 275 $ (1,646 ) (In thousands) Foreign Available- for-Sale Accumulated Balances at December 31, 2018 $ (1,649 ) $ (41 ) $ (1,690 ) Other comprehensive income for the six months ended June 30, 2019 70 102 172 Balances at June 30, 2019 $ (1,579 ) $ 61 $ (1,518 ) |
Operating Leases (Tables)
Operating Leases (Tables) | 6 Months Ended |
Jun. 30, 2020 | |
Leases [Abstract] | |
Schedule of the future maturities of lease liabilities | At June 30, 2020, the future maturities of lease liabilities are as follows: Twelve months ending June 30, (In thousands) 2021 $ 968 2022 985 2023 993 2024 704 2025 666 2026 and thereafter 740 Total lease payments 5,056 Less: amount representing interest 688 Present value of operating lease liabilities $ 4,368 |
Covid-19 Pandemic (Narrative) (
Covid-19 Pandemic (Narrative) (Details) | 3 Months Ended |
Jun. 30, 2020USD ($) | |
Singapore [Member] | Jobs Support Program [Member] | Reduced Employee Expenses [Member] | |
Effects on Future Earnings and Cash Flows Resulting from Exit Plan [Line Items] | |
Operating expenses | $ 276,000 |
Revenue Recognition (Summary Of
Revenue Recognition (Summary Of Revenue Performance Obligations) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Performance Obligations | ||||
Revenues | $ 15,996 | $ 15,044 | $ 32,425 | $ 30,020 |
Percent of Revenues | 100.00% | 100.00% | 100.00% | 100.00% |
Revenue recognized over time [Member] | ||||
Performance Obligations | ||||
Revenues | $ 362 | $ 292 | $ 555 | $ 638 |
Percent of Revenues | 2.00% | 2.00% | 2.00% | 2.00% |
Revenue recognized at a point in time [Member] | ||||
Performance Obligations | ||||
Revenues | $ 15,634 | $ 14,752 | $ 31,870 | $ 29,382 |
Percent of Revenues | 98.00% | 98.00% | 98.00% | 98.00% |
Revenue Recognition (Schedule o
Revenue Recognition (Schedule of contract assets and contract liabilities) (Details) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
Revenue Recognition [Abstract] | ||
Contract assets, included in other current assets | $ 4 | $ 2 |
Contract liabilities - advance customer payments | 661 | 389 |
Contract liabilities - deferred warranty revenue | $ 323 | $ 275 |
Revenue Recognition (Narrative)
Revenue Recognition (Narrative) (Details) - USD ($) $ in Thousands | 6 Months Ended | |
Jun. 30, 2020 | Jun. 30, 2019 | |
REVENUE RECOGNITION | ||
Impairment losses for contract assets | $ 0 | $ 0 |
Minimum [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-01-01 | ||
REVENUE RECOGNITION | ||
Period over which unsatisfied performance obligations are expected to be recognized | 1 year | |
Maximum [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-01-01 | ||
REVENUE RECOGNITION | ||
Period over which unsatisfied performance obligations are expected to be recognized | 3 years |
Revenue Recognition (Summary _2
Revenue Recognition (Summary of the amounts reclassified from beginning contract liabilities to revenue) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Revenue Recognition [Abstract] | ||||
Amounts reclassified from beginning contract liabilities to revenue | $ 55 | $ 443 | $ 95 | $ 216 |
Amounts reclassified from deferred warranty revenue | 83 | 110 | 183 | 224 |
Total | $ 138 | $ 553 | $ 278 | $ 440 |
Marketable Securities (Schedule
Marketable Securities (Schedule Of Marketable Securities) (Details) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
Marketable securities - Short-Term | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | $ 7,887 | $ 8,268 |
Unrealized Gains | 84 | 27 |
Unrealized Losses | 0 | 0 |
Fair Value | 7,971 | 8,295 |
Marketable securities - Short-Term | U.S. government and agency obligations | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 5,789 | 5,766 |
Unrealized Gains | 60 | 22 |
Unrealized Losses | 0 | 0 |
Fair Value | 5,849 | 5,788 |
Marketable securities - Short-Term | Corporate debt securities and certificates of deposit | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 1,578 | 1,085 |
Unrealized Gains | 20 | 1 |
Unrealized Losses | 0 | 0 |
Fair Value | 1,598 | 1,086 |
Marketable securities - Short-Term | Asset backed securities | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 520 | 1,417 |
Unrealized Gains | 4 | 4 |
Unrealized Losses | 0 | 0 |
Fair Value | 524 | 1,421 |
Marketable securities - Long-Term | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 14,250 | 12,105 |
Unrealized Gains | 261 | 65 |
Unrealized Losses | (12) | (2) |
Fair Value | 14,499 | 12,168 |
Marketable securities - Long-Term | U.S. government and agency obligations | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 6,807 | 6,524 |
Unrealized Gains | 105 | 30 |
Unrealized Losses | 0 | (1) |
Fair Value | 6,912 | 6,553 |
Marketable securities - Long-Term | Corporate debt securities and certificates of deposit | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 4,831 | 3,004 |
Unrealized Gains | 94 | 14 |
Unrealized Losses | 0 | 0 |
Fair Value | 4,925 | 3,018 |
Marketable securities - Long-Term | Asset backed securities | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 2,570 | 2,535 |
Unrealized Gains | 62 | 15 |
Unrealized Losses | 0 | (1) |
Fair Value | 2,632 | 2,549 |
Marketable securities - Long-Term | Equity security | ||
Gain (Loss) on Investments [Line Items] | ||
Cost | 42 | 42 |
Unrealized Gains | 0 | 6 |
Unrealized Losses | (12) | 0 |
Fair Value | $ 30 | $ 48 |
Marketable Securities (Schedu_2
Marketable Securities (Schedule Of Unrealized Loss Position) (Details) $ in Thousands | Dec. 31, 2019USD ($) |
Fair Value | |
In Unrealized Loss Position For Less Than 12 Months | $ 833 |
In Unrealized Loss Position For Greater Than 12 Months | 0 |
Gross Unrealized Losses | |
In Unrealized Loss Position For Less Than 12 Months | (2) |
In Unrealized Loss Position For Greater Than 12 Months | 0 |
U.S. government and agency obligations [Member] | |
Fair Value | |
In Unrealized Loss Position For Less Than 12 Months | 149 |
In Unrealized Loss Position For Greater Than 12 Months | 0 |
Gross Unrealized Losses | |
In Unrealized Loss Position For Less Than 12 Months | (1) |
In Unrealized Loss Position For Greater Than 12 Months | 0 |
Asset backed securities [Member] | |
Fair Value | |
In Unrealized Loss Position For Less Than 12 Months | 684 |
In Unrealized Loss Position For Greater Than 12 Months | 0 |
Gross Unrealized Losses | |
In Unrealized Loss Position For Less Than 12 Months | (1) |
In Unrealized Loss Position For Greater Than 12 Months | $ 0 |
Marketable Securities (Narrativ
Marketable Securities (Narrative) (Details) - USD ($) | 3 Months Ended | 6 Months Ended | 12 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | Dec. 31, 2019 | |
Gain (Loss) on Investments [Line Items] | |||||
Maximum maturity of debt securities (less than 5 years) | 5 years | ||||
Accumulated pre-tax unrealized gains for marketable securities | $ 345,000 | $ 345,000 | |||
Accumulated pre-tax unrealized losses on marketable securities | $ 84,000 | ||||
Proceeds from sales of available-for-sale marketable securities | 0 | $ 0 | 0 | $ 0 | |
Cost | $ 2,500,000 | 2,500,000 | 2,600,000 | ||
Unrealized gains or losses on marketable securities | $ 0 | $ 0 |
Marketable Securities (Schedu_3
Marketable Securities (Schedule Of Marketable Securities Classified As Cash Equivalents) (Details) - USD ($) | Jun. 30, 2020 | Dec. 31, 2019 |
Foreign Accounts | ||
Gain (Loss) on Investments [Line Items] | ||
Cash And Marketable Securities Held In Foreign Accounts | $ 458,000 | $ 327,000 |
Fair Value Measurements (Narrat
Fair Value Measurements (Narrative) (Details) - USD ($) | 6 Months Ended | |
Jun. 30, 2020 | Jun. 30, 2019 | |
Fair Value Disclosures [Abstract] | ||
Asset impairment charges | $ 0 | $ 0 |
Trade notes receivable were past due more than 90 days or in a non-accrual status with respect to interest income | $ 0 |
Fair Value Measurements (Fair V
Fair Value Measurements (Fair Value Measurements For Marketable Securities And Foreign Exchange Forward Contracts) (Details) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | $ 22,470 | $ 20,463 |
Quoted Prices In Active Markets For Identical Assets (Level 1) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 30 | 48 |
Significant Other Observable Inputs (Level 2) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 22,440 | 20,415 |
Significant Unobservable Inputs (Level 3) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
U.S. government and agency obligations | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 12,761 | 12,341 |
U.S. government and agency obligations | Quoted Prices In Active Markets For Identical Assets (Level 1) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
U.S. government and agency obligations | Significant Other Observable Inputs (Level 2) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 12,761 | 12,341 |
U.S. government and agency obligations | Significant Unobservable Inputs (Level 3) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
Corporate Debt Securities And Certificates Of Deposit [Member] | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 6,523 | 4,104 |
Corporate Debt Securities And Certificates Of Deposit [Member] | Quoted Prices In Active Markets For Identical Assets (Level 1) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
Corporate Debt Securities And Certificates Of Deposit [Member] | Significant Other Observable Inputs (Level 2) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 6,523 | 4,104 |
Corporate Debt Securities And Certificates Of Deposit [Member] | Significant Unobservable Inputs (Level 3) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
Asset backed securities | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 3,156 | 3,970 |
Asset backed securities | Quoted Prices In Active Markets For Identical Assets (Level 1) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
Asset backed securities | Significant Other Observable Inputs (Level 2) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 3,156 | 3,970 |
Asset backed securities | Significant Unobservable Inputs (Level 3) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
Equity security | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 30 | 48 |
Equity security | Quoted Prices In Active Markets For Identical Assets (Level 1) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 30 | 48 |
Equity security | Significant Other Observable Inputs (Level 2) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | 0 | 0 |
Equity security | Significant Unobservable Inputs (Level 3) | ||
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | ||
Marketable securities | $ 0 | $ 0 |
Share-Based Compensation (Narra
Share-Based Compensation (Narrative) (Details) | May 14, 2020USD ($)$ / sharesshares | Jun. 30, 2020USD ($)qtrstock-based_complensation_planshares | Jun. 30, 2019USD ($) | Jun. 30, 2020USD ($)qtrstock-based_complensation_plan$ / sharesshares | Jun. 30, 2019USD ($)shares | Dec. 31, 2019shares |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Number of stock-based compensation plans | stock-based_complensation_plan | 3 | 3 | ||||
Common stock reserved for issuance pursuant to outstanding awards | 415,900 | 415,900 | 520,513 | |||
Weighted average grant date fair value (in dollars per share) | $ / shares | $ 28.34 | |||||
Number of shares vested | 4,000 | |||||
Aggregate fair value of outstanding restricted shares and restricted stock units | $ | $ 2,300,000 | $ 2,300,000 | ||||
Aggregate fair value of restricted shares and restricted stock units | $ | 102,000 | $ 77,000 | ||||
Proceeds from exercise of stock options | $ | $ 256,000 | 59,000 | ||||
Number of shares vested | 0 | |||||
Shares, Granted (in shares) | 8,000 | |||||
Unvested shares | 72,204 | 72,204 | 68,204 | |||
Equity based compensation expense | $ | $ 286,000 | $ 249,000 | $ 558,000 | 493,000 | ||
Unrecognized compensation cost related to non-vested equity based compensation | $ | $ 2,000,000 | $ 2,000,000 | ||||
Unrecognized equity based compensation weighted average period, years | 2 years 6 months | |||||
Stock Options | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Number of shares available for future issuance (in shares) | 185,351 | 185,351 | ||||
Common stock reserved for issuance pursuant to outstanding awards | 468,104 | 468,104 | ||||
Vesting period, years | 4 years | |||||
Expiration of stock options from date of grant | 7 years | |||||
Weighted average remaining contractual term, years | 3 years 6 months | |||||
Aggregate intrinsic value for all options outstanding | $ | $ 7,800,000 | $ 7,800,000 | ||||
Weighted average remaining contractual term for exercisable options, years | 2 years 6 months | |||||
Aggregate intrinsic value of exercisable options | $ | 5,700,000 | $ 5,700,000 | ||||
Aggregate intrinsic value of stock options exercised | $ | 2,100,000 | 57,000 | ||||
Proceeds from exercise of stock options | $ | 256,000 | 59,000 | ||||
Equity based compensation expense | $ | 114,000 | 110,000 | $ 228,000 | 217,000 | ||
Restricted Shares | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Shares, Granted (in shares) | 8,000 | |||||
Restricted Stock Units (RSUs) | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Vesting period, years | 4 years | |||||
Restricted stock units to common stock ratio, shares entitled, shares | 1 | |||||
Shares, Granted (in shares) | 0 | |||||
Equity based compensation expense | $ | $ 101,000 | 77,000 | $ 202,000 | $ 153,000 | ||
Employee Stock Purchase Plan | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Number of shares available for future issuance (in shares) | 156,688 | 156,688 | ||||
Shares, Granted (in shares) | 0 | 0 | ||||
Maximum contribution per plan year | $ | $ 6,500 | |||||
Employees can purchase stock at the percentage rate of the lower of the market price on the first or last day of the offering period (as a percent) | 85.00% | |||||
Equity based compensation expense | $ | $ 25,000 | 31,000 | $ 48,000 | $ 60,000 | ||
Employee Stock Purchase Plan | Minimum | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Payroll deduction for employee stock purchase plan percentage | 1.00% | |||||
Employee Stock Purchase Plan | Maximum | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Payroll deduction for employee stock purchase plan percentage | 10.00% | |||||
Non Employee Director Stock Plan [Member] | ||||||
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | ||||||
Number of shares available for future issuance (in shares) | 44,000 | 44,000 | ||||
Common stock reserved for issuance pursuant to outstanding awards | 12,000 | 12,000 | ||||
Number of shares granted for non-employee directors upon re-election, shares | 2,000 | |||||
Number of quarterly installments in which awards will vest | qtr | 4 | 4 | ||||
Stock issued during period, shares | 8,000 | |||||
Stock granted, value | $ | $ 226,720 | |||||
Weighted average grant date fair value (in dollars per share) | $ / shares | $ 28.34 | |||||
Unvested shares | 8,000 | 8,000 | ||||
Aggregate fair value of the unvested shares based on the closing price of entity's common stock | $ | $ 258,000 | $ 258,000 | ||||
Equity based compensation expense | $ | $ 46,000 | $ 31,000 | $ 80,000 | $ 63,000 |
Share-Based Compensation (Sched
Share-Based Compensation (Schedule Of Stock Option Activity) (Details) - $ / shares | 6 Months Ended |
Jun. 30, 2020 | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] | |
Options Outstanding, Outstanding, December 31, 2019 (in shares) | 520,513 |
Options Outstanding, Granted (in shares) | 0 |
Options Outstanding, Exercised (in shares) | (104,613) |
Options Outstanding, Expired (in shares) | 0 |
Options Outstanding, Forfeited (in shares) | 0 |
Options Outstanding, Outstanding, March 31, 2020 (in shares) | 415,900 |
Options Outstanding, Exercisable, March 31, 2020 (in shares) | 276,326 |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] | |
Weighted-Average Exercise Price Per Share, Outstanding, December 31, 2019 (in dollars per share) | $ 12.25 |
Weighted-Average Exercise Price Per Share, Granted (in dollars per share) | 0 |
Weighted-Average Exercise Price Per Share, Exercised (in dollars per share) | 7.72 |
Weighted-Average Exercise Price Per Share, Expired (in dollars per share) | 0 |
Weighted-Average Exercise Price Per Share, Forfeited (in dollars per share) | 0 |
Weighted-Average Exercise Price Per Share, Outstanding, March 31, 2020 (in dollars per share) | 13.39 |
Weighted-Average Exercise Price Per Share, Exercisable, March 31, 2020 (in dollars per share) | $ 11.33 |
Share-Based Compensation (Sch_2
Share-Based Compensation (Schedule Of Non-Vested Restricted Stock Activity) (Details) | 6 Months Ended |
Jun. 30, 2020$ / sharesshares | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] | |
Shares, Non-vested at December 31, 2019 (in shares) | shares | 68,204 |
Shares, Granted (in shares) | shares | 8,000 |
Shares, Vested (in shares) | shares | (4,000) |
Shares, Forfeited (in shares) | shares | 0 |
Shares, Non-vested at March 31, 2020 (in shares) | shares | 72,204 |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] | |
Weighted Average Grant Date Fair Value, Non-vested at December 31, 2019 (in dollars per share) | $ / shares | $ 17.39 |
Weighted Average Grant Date Fair Value, Granted (in dollars per share) | $ / shares | 28.34 |
Weighted Average Grant Date Fair Value, Vested (in dollars per share) | $ / shares | 17.26 |
Weighted Average Grant Date Fair Value, Forfeited (in dollars per share) | $ / shares | 0 |
Weighted Average Grant Date Fair Value, Non-vested at March 31, 2020 (in dollars per share) | $ / shares | $ 18.61 |
Changes In Stockholders' Equi_3
Changes In Stockholders' Equity (Schedule of Changes in Stockholders' Equity) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
BALANCE | $ 59,035 | $ 57,175 | $ 58,324 | $ 56,211 |
BALANCE, shares | 7,154,591 | |||
Exercise of stock options | 171 | $ 256 | ||
Exercise of stock options, shares | 104,613 | |||
Exercise of stock options and vesting of restricted stock units | 59 | |||
Tax payments for shares withheld related to stock option exercises | (420) | $ (420) | ||
Share issuances for director compensation | 0 | 0 | 0 | 0 |
Share-based compensation | 286 | 249 | 558 | 493 |
Other comprehensive loss, net of tax | 250 | 39 | (240) | 172 |
Net income (loss) | 1,633 | 464 | 2,477 | 959 |
BALANCE | $ 60,955 | 57,927 | $ 60,955 | 57,927 |
BALANCE, shares | 7,231,587 | 7,231,587 | ||
Common Stock [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
BALANCE | $ 37,016 | $ 35,940 | $ 36,659 | $ 35,637 |
BALANCE, shares | 7,165,000 | 7,107,000 | 7,155,000 | 7,101,000 |
Exercise of stock options | $ 171 | $ 256 | ||
Exercise of stock options, shares | 75,000 | 85,000 | ||
Exercise of stock options and vesting of restricted stock units | $ 59 | |||
Exercise of stock options and vesting of restricted stock units, shares | 6,000 | |||
Tax payments for shares withheld related to stock option exercises | $ (420) | $ (420) | ||
Tax payments for shares withheld related to stock option exercises (in shares) | (16,000) | (16) | ||
Share issuances for director compensation | $ 0 | $ 0 | $ 0 | $ 0 |
Share issuances for director compensation, shares | 8,000 | 8,000 | 8,000 | 8,000 |
Share-based compensation | $ 286 | $ 249 | $ 558 | $ 493 |
Other comprehensive loss, net of tax | 0 | 0 | 0 | 0 |
Net income (loss) | 0 | 0 | 0 | 0 |
BALANCE | $ 37,053 | $ 36,189 | $ 37,053 | $ 36,189 |
BALANCE, shares | 7,232,000 | 7,115,000 | 7,232,000 | 7,115,000 |
Accumulated Other Comprehensive Loss [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
BALANCE | $ (1,896) | $ (1,557) | $ (1,406) | $ (1,690) |
Exercise of stock options | 0 | 0 | ||
Exercise of stock options and vesting of restricted stock units | 0 | |||
Tax payments for shares withheld related to stock option exercises | 0 | 0 | ||
Share issuances for director compensation | 0 | 0 | 0 | 0 |
Share-based compensation | 0 | 0 | 0 | 0 |
Other comprehensive loss, net of tax | 250 | 39 | (240) | 172 |
Net income (loss) | 0 | 0 | 0 | 0 |
BALANCE | (1,646) | (1,518) | (1,646) | (1,518) |
Retained Earnings [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
BALANCE | 23,915 | 22,792 | 23,071 | 22,264 |
Exercise of stock options | 0 | 0 | ||
Exercise of stock options and vesting of restricted stock units | 0 | |||
Tax payments for shares withheld related to stock option exercises | 0 | 0 | ||
Share issuances for director compensation | 0 | 0 | 0 | 0 |
Share-based compensation | 0 | 0 | 0 | 0 |
Other comprehensive loss, net of tax | 0 | 0 | 0 | 0 |
Net income (loss) | 1,633 | 464 | 2,477 | 959 |
BALANCE | $ 25,548 | $ 23,256 | $ 25,548 | 23,256 |
ASU No. 2016-02 [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
Increase (decrease) related to adoption of ASU | 33 | |||
ASU No. 2016-02 [Member] | Common Stock [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
Increase (decrease) related to adoption of ASU | 0 | |||
ASU No. 2016-02 [Member] | Accumulated Other Comprehensive Loss [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
Increase (decrease) related to adoption of ASU | 0 | |||
ASU No. 2016-02 [Member] | Retained Earnings [Member] | ||||
Increase (Decrease) in Stockholders' Equity [Roll Forward] | ||||
Increase (decrease) related to adoption of ASU | $ 33 |
Other Financial Statement Dat_2
Other Financial Statement Data (Schedule Of Inventories) (Details) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
Balance Sheet Related Disclosures [Abstract] | ||
Raw materials and purchased parts | $ 11,542 | $ 9,845 |
Work in process | 2,166 | 1,837 |
Finished goods | 4,770 | 2,373 |
Demonstration inventories, net | 1,437 | 1,525 |
Total inventories | $ 19,915 | $ 15,580 |
Other Financial Statement Dat_3
Other Financial Statement Data (Schedule Of Accrued Expenses) (Details) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 | Jun. 30, 2019 |
Balance Sheet Related Disclosures [Abstract] | |||
Wages and benefits | $ 2,232 | $ 1,319 | |
Warranty liability | 729 | 761 | $ 806 |
Income taxes payable | 144 | 333 | |
Other | 228 | 159 | |
Accrued expenses | $ 3,333 | $ 2,572 |
Other Financial Statement Dat_4
Other Financial Statement Data (Narrative) (Details) - USD ($) | 6 Months Ended | 12 Months Ended |
Jun. 30, 2020 | Dec. 31, 2019 | |
Inventory [Line Items] | ||
Inventory write-down | $ 667,000 | $ 649,000 |
Demonstration inventory useful life (in months) | 36 months | |
Accumulated amortization for demonstration inventories | $ 2,600,000 | $ 2,400,000 |
Minimum | ||
Inventory [Line Items] | ||
Product warranties time frame, years | 1 year | |
Maximum | ||
Inventory [Line Items] | ||
Product warranties time frame, years | 3 years |
Other Financial Statement Dat_5
Other Financial Statement Data (Schedule Of Changes In Estimated Warranty Liability) (Details) - USD ($) $ in Thousands | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Dec. 31, 2019 | |
Movement in Standard Product Warranty Accrual [Roll Forward] | |||
Balance at beginning of period | $ 798 | $ 789 | |
Accrual for warranties | 429 | 450 | |
Warranty revision | 9 | (22) | |
Settlements made during the period | (474) | (379) | |
Balance at end of period | 762 | 838 | |
Current portion of estimated warranty liability | (729) | (806) | $ (761) |
Long-term estimated warranty liability | $ 33 | $ 32 |
Other Financial Statement Dat_6
Other Financial Statement Data (Schedule Of Changes In Deferred Warranty Revenue) (Details) - USD ($) $ in Thousands | 6 Months Ended | |
Jun. 30, 2020 | Jun. 30, 2019 | |
Movement in Extended Product Warranty Accrual [Roll Forward] | ||
Balance at beginning of period | $ 275 | $ 218 |
Revenue deferrals | 231 | 238 |
Amortization of deferred revenue | (183) | (224) |
Total deferred warranty revenue | 323 | 232 |
Current portion of deferred warranty revenue | (209) | (214) |
Long-term deferred warranty revenue | $ 114 | $ 18 |
Intangible Assets (Schedule Of
Intangible Assets (Schedule Of Intangible Assets) (Details) - USD ($) $ in Thousands | Jun. 30, 2020 | Dec. 31, 2019 |
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | $ 3,246 | $ 3,205 |
Accumulated Amortization | (2,988) | (2,895) |
Net | 258 | 310 |
Patents | ||
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | 2,939 | 2,898 |
Accumulated Amortization | (2,735) | (2,662) |
Net | 204 | 236 |
Software | ||
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | 206 | 206 |
Accumulated Amortization | (185) | (170) |
Net | 21 | 36 |
Marketing assets and customer relationships | ||
Finite-Lived Intangible Assets [Line Items] | ||
Gross Carrying Amount | 101 | 101 |
Accumulated Amortization | (68) | (63) |
Net | $ 33 | $ 38 |
Intangible Assets (Schedule O_2
Intangible Assets (Schedule Of Amortization Expense For Intangible Assets) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Finite-Lived Intangible Assets [Line Items] | ||||
Amortization of intangibles | $ 45 | $ 43 | $ 93 | $ 83 |
Patents | ||||
Finite-Lived Intangible Assets [Line Items] | ||||
Amortization of intangibles | 35 | 33 | 73 | 64 |
Software | ||||
Finite-Lived Intangible Assets [Line Items] | ||||
Amortization of intangibles | 7 | 8 | 15 | 15 |
Marketing assets and customer relationships | ||||
Finite-Lived Intangible Assets [Line Items] | ||||
Amortization of intangibles | $ 3 | $ 2 | $ 5 | $ 4 |
Intangible Assets (Narrative) (
Intangible Assets (Narrative) (Details) | Jun. 30, 2020USD ($) |
Intangible Assets, Net (Excluding Goodwill) [Abstract] | |
Order backlog not yet recognized | $ 24,800,000 |
Amortization expense, remainder of 2020 | 85,000 |
Amortization expense, 2021 | 108,000 |
Amortization expense, 2022 | 50,000 |
Amortization expense, 2023 | 13,000 |
Amortization expense, 2024 | $ 2,000 |
Revenue Concentrations, Signi_3
Revenue Concentrations, Significant Customers, and Geographic Areas (Summary Of Revenue By Product Line) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Concentration Risk [Line Items] | ||||
Revenues | $ 15,996 | $ 15,044 | $ 32,425 | $ 30,020 |
High Precision 3D and 2D Sensors [Member] | ||||
Concentration Risk [Line Items] | ||||
Revenues | 4,745 | 2,004 | 8,867 | 5,753 |
Inspection and Metrology Systems [Member] | ||||
Concentration Risk [Line Items] | ||||
Revenues | 7,661 | 9,918 | 16,022 | 17,009 |
Semiconductor Sensors [Member] | ||||
Concentration Risk [Line Items] | ||||
Revenues | $ 3,590 | $ 3,122 | $ 7,536 | $ 7,258 |
Revenue Concentrations, Signi_4
Revenue Concentrations, Significant Customers And Geographic Areas (Narrative) (Details) - USD ($) $ in Millions | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Revenue, Major Customer [Line Items] | ||||
Revenue, export sales percentage | 84.00% | 73.00% | 78.00% | 72.00% |
Customer Concentration Risk | Sales Revenue, net | Significant Customer A [Member] | ||||
Revenue, Major Customer [Line Items] | ||||
Concentration risk percentage | 16.00% | |||
Customer Concentration Risk | Accounts Receivable | Significant Customer A [Member] | ||||
Revenue, Major Customer [Line Items] | ||||
Accounts receivable, net | $ 2.2 | $ 2.2 |
Revenue Concentrations, Signi_5
Revenue Concentrations, Significant Customers And Geographic Areas (Schedule Of Sales By Geographic Area) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Revenue, Major Customer [Line Items] | ||||
Total export sales | $ 13,374 | $ 10,915 | $ 25,153 | $ 21,521 |
Americas | ||||
Revenue, Major Customer [Line Items] | ||||
Total export sales | 97 | 205 | 497 | 576 |
Europe | ||||
Revenue, Major Customer [Line Items] | ||||
Total export sales | 2,369 | 1,606 | 4,472 | 4,264 |
China | ||||
Revenue, Major Customer [Line Items] | ||||
Total export sales | 3,954 | 3,559 | 7,834 | 6,334 |
Taiwan | ||||
Revenue, Major Customer [Line Items] | ||||
Total export sales | 763 | 999 | 2,479 | 3,144 |
Other Asia | ||||
Revenue, Major Customer [Line Items] | ||||
Total export sales | 5,449 | 4,207 | 9,129 | 6,819 |
Other | ||||
Revenue, Major Customer [Line Items] | ||||
Total export sales | $ 742 | $ 339 | $ 742 | $ 384 |
Net Income Per Share (Schedule
Net Income Per Share (Schedule of Net Income per Basic and Diluted Shares) (Details) - USD ($) $ / shares in Units, shares in Thousands, $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Earnings Per Share [Abstract] | ||||
Net income | $ 1,633 | $ 464 | $ 2,477 | $ 959 |
Weighted Average Shares Outstanding, Basic (in shares) | 7,198 | 7,106 | 7,177 | 7,103 |
Per Share Amount, Basic (in dollars per share) | $ 0.23 | $ 0.07 | $ 0.35 | $ 0.14 |
Weighted Average Shares Outstanding, Dilutive effect of common equivalent shares (in shares) | 249 | 190 | 230 | 206 |
Per Share Amount, Dilutive effect of common equivalent shares (in usd per share) | $ (0.01) | $ (0.01) | $ (0.02) | $ (0.01) |
Weighted Average Shares Outstanding, Dilutive (in shares) | 7,447 | 7,296 | 7,407 | 7,309 |
Per Share Amount, Dilutive (in dollars per share) | $ 0.22 | $ 0.06 | $ 0.33 | $ 0.13 |
Net Income Per Share (Narrative
Net Income Per Share (Narrative) (Details) - shares | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Earnings Per Share [Abstract] | ||||
Earnings per share, potentially dilutive shares (in shares) | 34,000 | 200,000 | 89,000 | 180,000 |
Other Comprehensive Income (L_3
Other Comprehensive Income (Loss) (Narrative) (Details) - USD ($) | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] | ||||
Reclassifications adjustments from other comprehensive income (loss) | $ 0 | $ 0 | $ 0 | $ 0 |
Other Comprehensive Income (L_4
Other Comprehensive Income (Loss) (The Effect Of The Reclassifications From Other Comprehensive Loss To Earnings) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Accumulated Other Comprehensive Income (Loss) [Line Items] | ||||
Foreign currency translation adjustments, Before Tax | $ 154 | $ (17) | $ (446) | $ 70 |
Foreign currency translation adjustments, Tax | 0 | 0 | 0 | 0 |
Foreign currency translation adjustments, Net of Tax | 154 | (17) | (446) | 70 |
Unrealized gains on available-for-sale securities, Before Tax | 121 | 70 | 261 | 128 |
Unrealized gains on available-for-sale securities, Tax | (25) | (14) | (55) | (26) |
Unrealized gains on available-for-sale securities, Net of Tax | 96 | 56 | 206 | 102 |
Total other comprehensive income (loss) before income taxes | 275 | 53 | (185) | 198 |
Other comprehensive income (loss), Tax | (25) | (14) | (55) | (26) |
Other comprehensive income (loss), net of tax | $ 250 | $ 39 | $ (240) | $ 172 |
Other Comprehensive Income (L_5
Other Comprehensive Income (Loss) (Schedule Of Accumulated Other Comprehensive Loss) (Details) - USD ($) $ in Thousands | 6 Months Ended | |
Jun. 30, 2020 | Jun. 30, 2019 | |
AOCI Attributable to Parent, Net of Tax [Roll Forward] | ||
Balance | $ (1,406) | $ (1,690) |
Other comprehensive income (loss) | (240) | 172 |
Balance | (1,646) | (1,518) |
Foreign Currency Translation Adjustments | ||
AOCI Attributable to Parent, Net of Tax [Roll Forward] | ||
Balance | (1,475) | (1,649) |
Other comprehensive income (loss) | (446) | 70 |
Balance | (1,921) | (1,579) |
Available-for-sale Securities | ||
AOCI Attributable to Parent, Net of Tax [Roll Forward] | ||
Balance | 69 | (41) |
Other comprehensive income (loss) | 206 | 102 |
Balance | $ 275 | $ 61 |
Income Taxes (Details)
Income Taxes (Details) - USD ($) | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2020 | Jun. 30, 2019 | Jun. 30, 2020 | Jun. 30, 2019 | |
Income Tax Examination [Line Items] | ||||
Income tax expense | $ (96,000) | $ 192,000 | $ 53,000 | $ 326,000 |
Excess tax benefits from employee stock option exercises | $ 340,000 | |||
Effective income tax rate (as a percent) | 2.00% | 25.00% | ||
Need for valuation allowance based on history of cumulative losses | 3 years |
Operating Leases (Narrative) (D
Operating Leases (Narrative) (Details) | 6 Months Ended | ||
Jun. 30, 2020USD ($) | Feb. 29, 2020ft² | Jun. 30, 2019USD ($) | |
Operating Leases [Line Items] | |||
Weighted average remaining term for operating leases | 5 years 3 months 29 days | ||
Weighted average discount rate applied to operating leases | 5.17% | ||
Mixed office and warehouse facility in Singapore | |||
Operating Leases [Line Items] | |||
Leased area (in square foot) | ft² | 19,805 | ||
Increase in operating lease liabilities for ROU assets | $ 920,000 | ||
Incentives from the landlord recorded as leasehold improvements | $ 691,000 |
Operating Leases (Schedule of
Operating Leases (Schedule of the future maturities of lease liabilities) (Details) $ in Thousands | Jun. 30, 2020USD ($) |
Year ending June 30, | |
2021 | $ 968 |
2022 | 985 |
2023 | 993 |
2024 | 704 |
2025 | 666 |
2026 and thereafter | 740 |
Total lease payments | 5,056 |
Less: amount representing interest | 688 |
Present value of operating lease liabilities | $ 4,368 |
Share Repurchases (Narrative) (
Share Repurchases (Narrative) (Details) - USD ($) $ in Millions | 6 Months Ended | |
Jun. 30, 2020 | Jul. 31, 2019 | |
Share Repurchase [Line Items] | ||
Authorized share repurchase amount | $ 3 | |
Share repurchases during period, shares | 0 |