Note 7 - Stock-based Compensation and Equity Transactions (Details Textual) - USD ($) | Jan. 12, 2021 | Dec. 31, 2020 | Sep. 15, 2020 | Jul. 31, 2020 | Jun. 30, 2020 | Jan. 09, 2020 | Dec. 06, 2019 | Nov. 04, 2019 | Jan. 31, 2021 | Jan. 31, 2020 | Nov. 01, 2020 | Nov. 01, 2019 |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term (Year) | | | | | | | | | 6 years 109 days | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term (Year) | | | | | | | | | 4 years 197 days | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term (Year) | | | | | | | | | 6 years 109 days | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value | | | | | | | | | $ 1,077,000 | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value | | | | | | | | | 531,000 | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value | | | | | | | | | 1,069,000 | | | |
Selling, General and Administrative Expenses [Member] | | | | | | | | | | | | |
Share-based Payment Arrangement, Expense | | | | | | | | | 123,000 | $ 187,000 | | |
Share-based Payment Arrangement, Nonemployee [Member] | | | | | | | | | | | | |
Nonemployee Director, Annual Compensation | | | | | | | | | | | $ 50,000 | $ 50,000 |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Value | | | | | | | | $ 25,000 | $ 25,000 | | | |
Share Price, 20 Day Average (in dollars per share) | | | | | | | | $ 6.36 | $ 4.34 | | | |
Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) | | | | | | | | | $ 2.46 | $ 3.13 | | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | | | | | | | | | $ 708,000 | | | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | | | | | | | | | 3 years 335 days | | | |
Restricted Stock [Member] | | | | | | | | | | | | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | | | | | | | | | $ 461,000 | | | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | | | | | | | | | 1 year 109 days | | | |
One Employee [Member] | Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | 10,000 | | 50,000 | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Number of Shares (in shares) | | | | | 2,500 | | 10,000 | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Number to Vest Each Year (in shares) | | | | | 2,500 | | 10,000 | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | 3 years | | 4 years | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | 10 years | | 10 years | | | | | |
Three Employees [Member] | | | | | | | | | | | | |
Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture, Total (in shares) | | | | | | 12,075 | | | | | | |
Share-based Payment Arrangement, Expense | | | | | | $ 77,000 | | | | | | |
Two Employees [Member] | Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | 3,241 | | | | | | |
Five Employees [Member] | Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | 77,000 | | | | | | |
Five Employees [Member] | Restricted Stock [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | 38,500 | | | | | | |
Five Employees [Member] | Restricted Stock and Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | 4 years | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | 10 years | | | | | | |
Five Employees [Member] | Restricted Stock and Incentive Stock Options [Member] | Vesting on January 9, 2021 [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | 25.00% | | | | | | |
Five Employees [Member] | Restricted Stock and Incentive Stock Options [Member] | Vesting on January 12, 2022 [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | 25.00% | | | | | | | | | | | |
One Manager and Three Officers [Member] | Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | 67,000 | | | | | | | | | | | |
One Manager and Three Officers [Member] | Restricted Stock [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | 33,500 | | | | | | | | | | | |
One Manager and Three Officers [Member] | Restricted Stock and Incentive Stock Options [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | 4 years | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | 10 years | | | | | | | | | | | |
Five Non-employee Directors [Member] | Restricted Stock [Member] | Share-based Payment Arrangement, Nonemployee [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Per Director (in shares) | | | | | | | | 3,270 | 5,757 | | | |
New Director [Member] | Restricted Stock [Member] | Share-based Payment Arrangement, Nonemployee [Member] | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Per Director (in shares) | | 3,334 | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Value | | $ 25,000 | | | | | | | | | | |
Share Price, 20 Day Average (in dollars per share) | | $ 5.31 | | | | | | | | | | |
Non-employee Directors and Chairperson of Committee on Board [Member] | | | | | | | | | | | | |
Annual Payable, Cash, Additional Compensation | | | | | | | | | $ 15,000 | | | |
Stock Issued During Period, Shares, Per Person, Issued For Services (in shares) | | | | 279 | | | | | | | | |
Shares Issued, Price Per Share (in dollars per share) | | | | $ 4.47 | | | | | | | | |
Non-employee Directors and Chairperson of Committee on Board [Member] | Restricted Stock [Member] | | | | | | | | | | | | |
Share Price, 20 Day Average (in dollars per share) | | | $ 4.34 | | | | | | | | | |
Stock Issued During Period, Shares, Per Person, Issued For Services (in shares) | | | 3,454 | | | | | | | | | |
Annual Payable, Shares, Additional Compensation | | | $ 15,000 | | | | | | | | | |