Annual report pursuant to Section 13 and 15(d)

Note 14 - Stockholders' Equity (Details Textual)

v3.24.1
Note 14 - Stockholders' Equity (Details Textual)
1 Months Ended 3 Months Ended 12 Months Ended
Aug. 31, 2023
USD ($)
$ / shares
shares
Jul. 31, 2023
USD ($)
$ / shares
shares
Dec. 31, 2022
USD ($)
$ / shares
shares
Oct. 31, 2022
USD ($)
shares
Aug. 31, 2022
USD ($)
shares
Jul. 31, 2022
USD ($)
shares
Jun. 30, 2022
USD ($)
shares
May 31, 2022
USD ($)
shares
Apr. 30, 2022
USD ($)
shares
Feb. 28, 2022
USD ($)
shares
Jan. 31, 2022
USD ($)
shares
Dec. 31, 2023
USD ($)
$ / shares
shares
Sep. 30, 2023
USD ($)
shares
Jun. 30, 2023
USD ($)
shares
Mar. 31, 2023
USD ($)
shares
Dec. 31, 2023
USD ($)
$ / shares
shares
Dec. 31, 2022
USD ($)
$ / shares
shares
Dec. 31, 2019
shares
Dec. 31, 2017
shares
Dec. 31, 2021
shares
Common Stock, Shares Authorized (in shares)     200,000,000                 200,000,000       200,000,000 200,000,000      
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares     $ 0.001                 $ 0.001       $ 0.001 $ 0.001      
Proceeds from Issuance of Common Stock | $                               $ 3,786,000 $ 6,519,000      
Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation (in shares)                               939,198        
Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation | $                               $ 1,091,000        
Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares)                               192,707        
Stock Issued During Period, Shares, Issued for Class Action Settlement (in shares)                               469,366        
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number (in shares)     994,267                           994,267     1,026,712
The 2014 Stock Incentive Plan [Member]                                        
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)                                     2,127,306  
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)                                     3 years  
The 2014 Stock Incentive Plan [Member] | Maximum [Member]                                        
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)                                     10 years  
The 2019 Stock Incentive Plan [Member]                                        
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)                                   18,500,000    
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)                                   3 years    
The 2019 Stock Incentive Plan [Member] | Maximum [Member]                                        
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)                                   10 years    
Public Offering Warrant [Member]                                        
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares)   363,860                                    
Sale of Stock, Warrants, Commission Percent   2.00%                                    
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares   $ 1.375                                    
Warrants and Rights Outstanding, Term (Year)   5 years                                    
Warrants and Rights Outstanding | $   $ 388,000                                    
Public Offering Warrant [Member] | Measurement Input, Share Price [Member]                                        
Warrants and Rights Outstanding, Measurement Input   1.54                                    
Public Offering Warrant [Member] | Measurement Input, Price Volatility [Member]                                        
Warrants and Rights Outstanding, Measurement Input   0.819                                    
Public Offering Warrant [Member] | Measurement Input, Discount Rate [Member]                                        
Warrants and Rights Outstanding, Measurement Input   0.0381                                    
Public Offering Warrant [Member] | Measurement Input, Expected Dividend Rate [Member]                                        
Warrants and Rights Outstanding, Measurement Input   0                                    
Yulho SPA Underwriter Warrant [Member]                                        
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) 205,761                                      
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares $ 1.25                                      
Warrants and Rights Outstanding, Term (Year) 5 years                                      
Warrants and Rights Outstanding | $ $ 181,000                                      
Yulho SPA Underwriter Warrant [Member] | Measurement Input, Share Price [Member]                                        
Warrants and Rights Outstanding, Measurement Input 1.27                                      
Yulho SPA Underwriter Warrant [Member] | Measurement Input, Price Volatility [Member]                                        
Warrants and Rights Outstanding, Measurement Input 0.823                                      
Yulho SPA Underwriter Warrant [Member] | Measurement Input, Discount Rate [Member]                                        
Warrants and Rights Outstanding, Measurement Input 0.0381                                      
Yulho SPA Underwriter Warrant [Member] | Measurement Input, Expected Dividend Rate [Member]                                        
Warrants and Rights Outstanding, Measurement Input 0                                      
ATM [Member]                                        
Stock Issued During Period, Shares, New Issues (in shares)                               3,244,302        
Proceeds from Issuance of Common Stock | $                               $ 3.8        
July 2023 Public Offering [Member]                                        
Stock Issued During Period, Shares, New Issues (in shares)                               18,193,000        
Proceeds from Issuance of Common Stock | $   $ 18,300,000                                    
Yulho Offering [Member]                                        
Stock Issued During Period, Shares, New Issues (in shares) 4,545,455                                      
Proceeds from Issuance of Common Stock | $ $ 4,600,000                                      
Options Granted in Reliance on Nasdaq Rule 5635(c)(4) [Member]                                        
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number (in shares)                       47       47        
Stock Options and Restricted Stock Units [Member]                                        
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | $                       $ 6,100,000       $ 6,100,000        
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognitio (Year)                               2 years 4 months 24 days        
Restricted Stock Units (RSUs) [Member]                                        
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)             3 years   3 years 3 years 3 years 3 years 3 years 12 months 3 years          
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)       28,223 10,537 143,708 12,121 182,293 9,615 47,933 44,780 4,007,972 136,254 204,547 64,149 5,110,852 3,691,202      
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $       $ 21,308 $ 10,000 $ 120,000 $ 10,000 $ 175,000 $ 10,000 $ 50,000 $ 50,000 $ 3,422,275 $ 155,000 $ 225,000 $ 70,000          
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments                       6 3 4 3          
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested | $                               $ 3,100,000        
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding | $                       $ 6,600,000       $ 6,600,000        
Restricted Stock Units (RSUs) [Member] | Share-Based Payment Arrangement, Tranche One [Member]                                        
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)     3 years                                  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)     27,739                                  
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $     $ 20,000                                  
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments     3                                  
Restricted Stock Units (RSUs) [Member] | Share-Based Payment Arrangement, Tranche Two [Member]                                        
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)                                 3 years      
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)     3,184,253                                  
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $     $ 2,368,682                                  
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments                                 6      
Restricted Stock Units (RSUs) [Member] | Additional RSU's Vesting in Three Years [Member]                                        
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)                       3 years                
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)                       52,632                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $                       $ 41,513                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments                       3                
Restricted Stock Units (RSUs) [Member] | RSU's Vesting in Six Months [Member]                                        
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)                       65,789                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $                       $ 51,891                
Stock Price Hurdle RSU's [Member]                                        
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)                       3 years                
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)                       3 years                
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number (in shares)                       475,282       475,282        
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)                       475,282                
Management and Employees [Member]                                        
Stock Issued During Period, Shares, Restricted Stock Award, Gross (in shares)                               1,462,814 2,150,467      
Management and Employees [Member] | Reissued Treasury Stock [Member]                                        
Stock Issued During Period, Shares, Restricted Stock Award, Gross (in shares)                               510,632        
Board Members [Member]                                        
Stock Issued During Period, Shares, Restricted Stock Award, Gross (in shares)                               170,692 125,264      
Director [Member]                                        
Stock Issued During Period, Shares, Issued for Services (in shares)                               104,227 28,223      
Former Board Member [Member]                                        
Stock Issued During Period, Shares, Issued for Services (in shares)                               15,781 19,176      
ATM [Member]                                        
Stock Issued During Period, Shares, New Issues (in shares)                                 6,742,069      
Proceeds from Issuance of Common Stock | $                                 $ 6,500,000