<commit_before># URGENT - before next release

## Work through lots of example fits file inputs and make reading more robust, e.g. barfing on nirspec and pharo data currently



# Desirable before next release

## re-consider which color maps to include

[based on:](https://jakevdp.github.io/blog/2014/10/16/how-bad-is-your-colormap/)



# Medium high-priority for some future release:

## ability to do masked numpy arrays with different color value for masked positions


## Make which control panels are loaded optional, including a 'default' group.

See ztv.ControlPanels class.


## Allow enabling/disabling of components of SourcePanel at startup

- allow enable/disable of ActiveMQ in SourcePanel at startup (default = off?) 
- Allow enable/disable of Auto-load file in SourcePanel at startup (default = on?) 


# Low priority for some future release:

## consider:  what color should be used for blank/fill space in ImagePanels?  (currently white, but should it be black? adjustable?)

## design & implement global keyboard shortcuts, e.g. cmd-o for opening a file

## fix that ctrl-c in ipython is killing ztv gui, even when run via a separate process with ztv_api

Problem:

    import ztv
    z = ztv.ZTV()
    # now do some other things
    # and hit ctrl-c
    # kills the subprocess'd ztv gui
    
I think fix will be around the `ztv_api.py` line that launches ztv with: `subprocess.Popen`.
<commit_msg>Finished working through basic manual. in process added bunch of TODO tasks.<commit_after># URGENT - before next release

## Work through lots of example fits file inputs and make reading more robust, e.g. barfing on nirspec and pharo data currently



# Desirable before next release

## re-consider which color maps to include

[based on:](https://jakevdp.github.io/blog/2014/10/16/how-bad-is-your-colormap/)

## better document ActiveMQ usage/example/etc


# Medium high-priority for some future release:

## better 'auto' algorithm for min/max determination

## ability to do masked numpy arrays with different color value for masked positions

## in "Show FITS header" search box is using strict capitalization - Should it allow sloppy capitalization?

## Make which control panels are loaded optional, including a 'default' group.

See ztv.ControlPanels class.


## Allow enabling/disabling of components of SourcePanel at startup

- allow enable/disable of ActiveMQ in SourcePanel at startup (default = off?) 
- Allow enable/disable of Auto-load file in SourcePanel at startup (default = on?) 


# Low priority for some future release:

## in source panel fields:  tab to complete doesn't work at first attempt in fields after clicking.  have to type a character first.  After that behavior is correct.  (launch ztv; click in a field, hit tab.  nothing.  type a character (even not matching), delete it, hit tab -> works)

## is error checking behavior of Source Panel->Current FITS file correct?  seems to error check only upon Return key.  Not actively as you type.  Meanwhile the auto-load file fields work correctly, updating color clues in real time.

## Source Panel->Autoload-file:  auto-redistribute filename vs. directory to Dir/Filename (is there some use case where you don't want to 'correct' the user?)

## Tab to complete in Source Panel->Current FITS file is not working currently (is in auto-load file fields)

## Tab to complete in Source panel fields:  shift-Tab should step back (in case you went past completion you wanted)

## consider:  what color should be used for blank/fill space in ImagePanels?  (currently white, but should it be black? adjustable?)

## design & implement global keyboard shortcuts, e.g. cmd-o for opening a file

## allow 'hiding' of source panel, but having pre-set ActiveMQ or auto-load file?? (less certain this needed than enable/disable individual components?)

## fix that ctrl-c in ipython is killing ztv gui, even when run via a separate process with ztv_api

## consider in color panel:  do other colormap scalings make sense?


Problem:

    import ztv
    z = ztv.ZTV()
    # now do some other things
    # and hit ctrl-c
    # kills the subprocess'd ztv gui
    
I think fix will be around the `ztv_api.py` line that launches ztv with: `subprocess.Popen`.

{'fraction_non_alphanumeric': 0.07053550365652277, 'fraction_numerical': 0.00377447511205473, 'mean_word_length': 3.9187935034802783, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2662270', 'n_tokens_mistral': 1193, 'n_tokens_neox': 1136, 'n_words': 578}