Code Monkey home page Code Monkey logo

cleanx's People

Contributors

andrew-f-murphy avatar drcandacemakedamoore avatar kevin-mattheus-moerman avatar patricejada avatar wvxvw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cleanx's Issues

Questions oon Anaconda version

I can't test the Anaconda version on my machine as the environment has too many conflicts right now. I need other people to test it.

Missing conda package screwing up my build

For a couple of days, I haven't been able to make an updated build on my machine. Salient log below:

ModuleNotFoundError: No module named 'conda.vendor.auxlib'
Traceback (most recent call last):
File "setup.py", line 648, in
zip_safe=False,
File "D:\bin\anaconda3\envs\cleanX\lib\site-packages\setuptools_init
.py", line 153, in setup
return distutils.core.setup(**attrs)
File "D:\bin\anaconda3\envs\cleanX\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "D:\bin\anaconda3\envs\cleanX\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "D:\bin\anaconda3\envs\cleanX\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "setup.py", line 476, in run
raise RuntimeError('Couldn't build {} package'.format(name))
RuntimeError: Couldn't build cleanX package

Joss issues

This is a list of some improvements/suggestions or issues that may need clarifications.

  • Is this file needed GNU GENERAL PUBLIC LICENSE.txt?

  • Include Conda badges https://anaconda.org/doctormakeda/cleanx/badges

  • Make sure that the test badges link to the test builds. Currently, they link to the image of the badge. Sanity

  • Create a paper folder for the paper files and include a copy of the LICENSE file.

  • Include some examples on how to get started in the readme file. The same applies to the documentation. I would expect at least some sort of getting started guide.

  • Since version v0.1.9 was released, I would expect the current changes to have v0.2.0.dev as the version for these changes in development. Later to be released as v0.2.0. But if you desire to have the current pattern, thats fine.

  • Move all document files to a docs folder. I think readthedocs could also enable the docs have two versions, the stable and the latest.

  • In the Jupyter we have paths like 'D:/projects/cleanX' It would be nice to start by getting the current project's directory and then use relative paths with join.
    For example:

dicomfile_directory1 = 'D:/projects/cleanX/test/dicom_example_folder'
example = pd.read_csv("D:/projects/cleanX/workflow_demo/martians_2051.csv")
# To
working_dir = "Path to project home"
example_path = os.path.normpath(os.path.join(working_dir, "workflow_demo/martians_2051.csv"))
example = pd.read_csv(example_path)

It would be nice to normalize the paths. This will help Windows users who have a hard time with / and \ characters

DCM issue

Create a report to help us improve

Describe the bug
I had some issues with DCM images.

[Security] Workflow on-tag.yml is using vulnerable action s-weigand/setup-conda

The workflow on-tag.yml is referencing action s-weigand/setup-conda using references v1. However this reference is missing the commit a30654e576ab9e21a25825bf7a5d5f2a9b95b202 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

pip install cleanx, on mac errors

Describe the bug
No package 'tesseract' found

Screenshots

Using legacy 'setup.py install' for tesserocr, since package 'wheel' is not installed.
Installing collected packages: tesserocr, opencv-python, matplotlib, cleanX
    Running setup.py install for tesserocr ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/henrykironde/Documents/GitHub/testenv/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-install-d2ki3n8m/tesserocr_9008e8f2373142109467f5269239caa5/setup.py'"'"'; __file__='"'"'/private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-install-d2ki3n8m/tesserocr_9008e8f2373142109467f5269239caa5/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-record-zx09fpub/install-record.txt --single-version-externally-managed --compile --install-headers /Users/henrykironde/Documents/GitHub/testenv/include/site/python3.9/tesserocr
         cwd: /private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-install-d2ki3n8m/tesserocr_9008e8f2373142109467f5269239caa5/
    Complete output (20 lines):
    pkg-config failed to find tesseract/leptonica libraries: Package tesseract was not found in the pkg-config search path.
    Perhaps you should add the directory containing `tesseract.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'tesseract' found
    
    Failed to extract tesseract version from executable: [Errno 2] No such file or directory: 'tesseract'
    Supporting tesseract v3.04.00
    Tesseract major version 3
    Building with configs: {'libraries': ['tesseract', 'lept'], 'compile_time_env': {'TESSERACT_MAJOR_VERSION': 3, 'TESSERACT_VERSION': 50593792}}
    WARNING: The wheel package is not available.
    running install
    running build
    running build_ext
    Detected compiler: unix
    building 'tesserocr' extension
    creating build
    creating build/temp.macosx-11-x86_64-3.9
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/Users/henry/Documents/GitHub/testenv/include -I/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c tesserocr.cpp -o build/temp.macosx-11-x86_64-3.9/tesserocr.o
    clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11'
    error: command '/usr/bin/clang' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/henrykironde/Documents/GitHub/testenv/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-install-d2ki3n8m/tesserocr_9008e8f2373142109467f5269239caa5/setup.py'"'"'; __file__='"'"'/private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-install-d2ki3n8m/tesserocr_9008e8f2373142109467f5269239caa5/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/d5/vm7jfw2x7q550xrltd8ss5440000gn/T/pip-record-zx09fpub/install-record.txt --single-version-externally-managed --compile --install-headers /Users/henrykironde/Documents/GitHub/testenv/include/site/python3.9/tesserocr Check the logs for full command output.
WARNING: You are using pip version 21.1.3; however, version 21.2.4 is available.

(testenv) ➜  cleanX git:(docs) ✗ 

Your computer environment info: (please complete the following information):

OS: [MacOSX]
Python V=version [3.9]

color normalizer- after JOSS review finishes

Some of our users are applying this to color images i.e. endoscopic images. This is by change, and it could have been pathology images. We should add functions explicitly for this starting with finding color outliers. I will attack this once the JOSS review completes.

Bug in cleanX.image_work.show_images_in_df()

cleanX.image_work.show_images_in_df() sometimes repeats images in the matrix of pictures

Expected behavior
Should put each image in matrix once, not more, not less

OS: Windows
Python V=version 3.8 (or 3.9)

tests

test_find_tiny_image_differences (from my Windows) is currently not working on most advanced branch, unclear why
need test for pipeline functions: Normalize, Crop etc.

Consider adding alternatives

It would be nice to have a list of alternative software. Mentioning how cleanX is different than the alternatives will help users to decide what option is better for him/her.

Issue

Create a report to help us improve
We need to declare the variable outside the for loop
Describe the bug
find_by_sample_upper
image

Need readthedocs version

I changed the index.rst.txt to an rst file (and others in the Sphinx area), but still not sure how to get an automatic documentation build (it seems to fail).

HistogramNormalize class

Apparently has a new bug- probably created by a dependency change. Now breaks in classes_workflow notebook (commented out). Must investigate break.

Language cleanup and typos

CleanX uses some sensitive language that may offend some users. I would recommend that you remove words like idiots since it is against the code of conduct for Joss.

There are typos in the doc strings, like """This class allows normalization by throwing off exxtreme values on" It would be nice to look through the doc strings and try to remove the typos.

Note: I am still failing to install CleanX, but I think it is some complications with my Conda setup. I will keep you updated. My target is to finish with the review and final decision in 14 days.

Ref: openjournals/joss-reviews#3632

Suggestions

Can you add documentation in the following files?

  • journaline_pipeline.py, starting from line 110
  • steps.py starting from line 112
  • Many functions in the fils dataframes.py, pydicom_adapter.py, and simpleitk_adapter.py

Examples and workflow_demo

@drcandacemakedamoore 👍🏿 for getting this to finally install smoothly. Some issues that I have are detailed below.

README.md Example:

  • Add s check to see if the path exist cleaned or always delete it first and then make a new one.
dst = 'cleaned'
if not  os.path.exists(dst):
    os.mkdir(dst)
dst = 'cleaned'
os.rmdir(dst)
os.mkdir(dst)

Improve this README.md example, I had to install SimpleITK and PyDICOM. You could add this to required dependencies.

(cleanx) henrysenyondo ~/Downloads/cleanX [main] $ python examplecleanX.py 
WARNING:root:Don't know how to find Tesseract library version
/Users/henrysenyondo/Downloads/cleanX/cleanX/dicom_processing/__init__.py:37: UserWarning: 
Neither SimpleITK nor PyDICOM are installed.

Will not be able to extract information from DICOM files.

  warnings.warn(
Traceback (most recent call last):
  File "examplecleanX.py", line 36, in <module>
    from cleanX.dicom_processing import DicomReader
ImportError: cannot import name 'DicomReader' from 'cleanX.dicom_processing' (/Users/henrysenyondo/Downloads/cleanX/cleanX/dicom_processing/__init__.py)
(cleanx) henrysenyondo ~/Downloads/cleanX [main] $

Use a path that does actually exist in the repo src = GlobSource('/images/to/clean/*.jpg')

workflow_demo examples:

  • Use paths that do exist in the repo, or add a comment to point to the data to be used in that given example. Assume that the user is going to run the examples in the root directory, so all paths could be relative to that directory. In the example from cleanX/workflow_demo/classes_workflow.ipynb
  • Refactor the workflow_demo files, rename them appropriately remove files not needed.

Matrix builds and releases

CI needs work, we need to cover more ground in testing and releases. Specifically, we need to test on Python 3.9, build conda packages for this version. Need to have SimpleITK, pydicom, and click installed for tests that need it.

@wvxvw

Installing.org needs major update

I think, this file was added in response to the previous review. It's out of date somewhat at this point, and it only covers a fraction of what's actually supported. Also, I think the script it mentions in the beginning might use some work.

Clutter in documentation

In retrospect, using https://www.sphinx-doc.org/en/master/man/sphinx-apidoc.html was a bad idea. The code it generates is awful and impossible to control. In particular, there's no way to disable or enable special methods on per-class basis. Similarly for inheritance etc.

Apparently, we need to replace this with something else that would generate sensible documentation pages. There's no hope that sphinx-apidoc will ever improve.

Condabuild for 3.8 ubunu

This lone combination takes most of the CI time, and is responsible for 90% of bad builds. We may need to rewrite the code on this one combination.

Additional authors?

Thank you for the nice changes PatriceJada ...we need to figure out how to contact this person to see if he or she wants to be an author on the associated paper, which is still under review. Are you there @PatriceJada ?

Why is it all failing?

The continous integration seems stuck. It has runs on que from 6 hours ago. Is this something I introduced with the new folders? Why is it all failing?

Dependency

Create a report to help us improve

Describe the bug
tesserocr

To Reproduce
Steps to reproduce the behavior:

pip install cleanx

Expected behavior
A clear and concise description of what you expected to happen.
ERROR: Failed building wheel for tesserocr
Running setup.py clean for tesserocr

Screenshots
If applicable, add screenshots to help explain your problem.

Your computer environment info: (please complete the following information):
Ubuntu 16.

OS: [e.g. Linux]
Python V=version [e.g. 3.7]

I think you should add minimum requirement in the readme file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.